Android 报错:Entry name 'AndroidManifest.xml' collided

Android 报错:Entry name 'AndroidManifest.xml' collided

  • 前言
  • 解决方法
    • 1、直接退回3.5.3
    • 2、排除打包文件
    • 3、使用旧打包工具
    • 4、最终解决方法
  • 完事

前言

这两天 Android studio 更新了 3.6 版本,天天在右下角提示
Android 报错:Entry name 'AndroidManifest.xml' collided_第1张图片
最后没忍住,还是点击了 update,唉,谁叫我是升级狂魔呢。

但是问题也随即而来。

Entry name 'AndroidManifest.xml' collided

王德法。。。

解决方法

1、直接退回3.5.3

修改gradle版本为3.5.3

    dependencies {
        // classpath 'com.android.tools.build:gradle:3.6.0'
        classpath 'com.android.tools.build:gradle:3.5.3'
    }

2、排除打包文件

在app的build.gradle里添加以下内容

android {
    packagingOptions {
        exclude 'AndroidManifest.xml'
    }
}

3、使用旧打包工具

在gradle.properties文件中添加以下内容

android.useNewApkCreator=false

4、最终解决方法

经过不断的尝试,终于发现问题所在了,并不是我一直纠结的 AndroidManifest.xml,而是引用的一个库文件里的一个库,是不是有点拗口。。。
反正就是一个个引用的第三方库检查,将遇到的这个库implementation 'androidx.core:core-ktx:1.2.0'版本号改成1.2.0或者更新到最新版本(最好将库的gradle也升级到3.6.0classpath 'com.android.tools.build:gradle:3.6.0'

举个例子:
1、在你的工程中有第三方依赖A
2、去看A的工程项目里是否存在implementation 'androidx.core:core-ktx:1.2.0',有的话就更新
3、并且将A工程的gradle也升级到3.6.0classpath 'com.android.tools.build:gradle:3.6.0'
4、然后重新打包,放回你的工程引用

完事

我觉得上面都不是最好的解决方法,等之后看看外网还有啥解决方案再修改。
完美

你可能感兴趣的:(错误)