一、在Android Studio中打包時報錯如下:

打包時報多個屬性文件錯誤
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformResourcesWithMergeJavaResForRelease'.
> More than one file was found with OS independent path 'META-INF/rxjava.properties'
大意是多個與操作系統(tǒng)無關的路徑“META-INF/rxjava.properties”。rxjava.properties是rxjava依賴庫的屬性配置文件。
注意:這個問題是有時候引用的三方庫會帶有一些配置文件xxxx.properties,或者license信息導致的。
二、解決方案:

在主項目的build.gradle文件中加入packagingOptions 配置:
packagingOptions {
????????exclude 'META-INF/rxjava.properties'
}
packagingOptions 是打包時的一些配置,使用exclude 在打包時移除項目中的相關文件,不打入apk文件中。
針對引用的三方庫會帶有一些配置文件xxxx.properties,或者license信息,當我們打包的時候想去掉這些信息就可以使用上面的packagingOptions 配置方式。
(3)通用解決方案:

下面粘貼我項目中使用的全部packagingOptions 配置
packagingOptions {
? ?????exclude 'META-INF/ASL2.0'
? ? ????exclude 'META-INF/DEPENDENCIES.txt'
????????exclude 'META-INF/LICENSE.txt'
????????exclude 'META-INF/NOTICE.txt'
????????exclude 'META-INF/NOTICE'
????????exclude 'META-INF/LICENSE'
????????exclude 'META-INF/DEPENDENCIES'
????????exclude 'META-INF/notice.txt'
????????exclude 'META-INF/license.txt'
????????exclude 'META-INF/dependencies.txt'
????????exclude 'META-INF/LGPL2.1'
????????exclude 'META-INF/services/javax.annotation.processing.Processor'
????????exclude 'META-INF/rxjava.properties'
}