【原創(chuàng)】Android Studio項目打包配置屬性文件報錯及解決方案

一、在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信息導致的。

二、解決方案:

packagingOptions 配置

在主項目的build.gradle文件中加入packagingOptions 配置:

packagingOptions {

????????exclude 'META-INF/rxjava.properties'

}

packagingOptions 是打包時的一些配置,使用exclude 在打包時移除項目中的相關文件,不打入apk文件中。

針對引用的三方庫會帶有一些配置文件xxxx.properties,或者license信息,當我們打包的時候想去掉這些信息就可以使用上面的packagingOptions 配置方式。


(3)通用解決方案:


全部packagingOptions 配置

下面粘貼我項目中使用的全部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'

}

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容