前言
這兩天 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、然後重新打包,放回你的工程引用
完事
我覺得上面都不是最好的解決方法,等之後看看外網還有啥解決方案再修改。
完美