Android 報錯:Entry name 'AndroidManifest.xml' collided

前言

這兩天 Android studio 更新了 3.6 版本,天天在右下角提示
在這裏插入圖片描述
最後沒忍住,還是點擊了 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、然後重新打包,放回你的工程引用

完事

我覺得上面都不是最好的解決方法,等之後看看外網還有啥解決方案再修改。
完美

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章