美文网首页
【原创】Android Studio项目打包配置属性文件报错及解

【原创】Android Studio项目打包配置属性文件报错及解

作者: WrapOnly | 来源:发表于2018-01-03 13:42 被阅读0次

    一、在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'

    大意是多个与操作系统无关的路径“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'

    }

    相关文章

      网友评论

          本文标题:【原创】Android Studio项目打包配置属性文件报错及解

          本文链接:https://www.haomeiwen.com/subject/arfqvxtx.html