美文网首页
彻底解决 duplicate entry,当你在进行releas

彻底解决 duplicate entry,当你在进行releas

作者: XX杰 | 来源:发表于2019-04-16 10:04 被阅读0次

    一般情况下,当我们通过USB链接手机进行测试app的时候,并不会出现包冲突问题,或者很少出现。但是当我们 打release apk的时候,通过运行 assembleRelease的时候,会经常出现duplicate entry

    点击右侧gradle 中app 目录下面的build中的clean 或者cleanBuildCache时,显示 “BUILD SUCCESSFUL”
    但是当你运行其中的 assembleRelease的命令的时候就会出现
    类似这样的错误

    java.util.zip.ZipException: duplicate entry: 
    android/support/v4/app/FragmentManagerNonConfig.class
    

    duplicate entry 双重输入 的意思
    也就是包重复或者类重复
    解决步骤:

    1、右侧gradle 中app下android目录中,执行androidDependencies命令。
    这个命令是查看当前项目下所有的依赖。。
    2、通过第一步的命令可以查看到重复的依赖项目,删除低版本的。
    但是有的依赖项目包含其他的依赖项目 比如 support-v4就包含recycleView的依赖。
    3、解决二中出现的问题,需要使用一下代码
        api ('com.android.support:design:26.0.0'){
            exclude group:'com.android.support', module: 'support-v4'
            exclude group:'com.android.support', module: 'support-core-ui'
            exclude group:'com.android.support', module: 'support-compat'
            exclude group:'com.android.support', module: 'support-annotations'
            exclude group:'com.android.support', module: 'recyclerview-v7'
        }
    api的意义可以自己百度
    exclude  排除 的意思
    意思就只排除design中的那个模块下的那个包名。
    4、这需要你不停的运行assembleRelease命令,在项目Project目录下面的
    External Libraries中找对对应的重复的包,然后通过exclude的语法排除掉,就可以成功打包release版本了。
    

    仅供参考,望广大网友多提意见。。

    相关文章

      网友评论

          本文标题:彻底解决 duplicate entry,当你在进行releas

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