我們在開發中常常遇到build成功,直接通過Android studio安裝app時也能成功,但是一旦打包apk時就會報`Android 報錯:Entry name 'AndroidManifest.xml' collided`。這個問題碰了幾次比較頭疼,現在寫在博客裏進行記錄,並分享給大家。解決方法呢,網上一搜一大把,但是都有問題或效果不佳。
方案一:gradle版本退回3.5.3
方案可行,但是對於我這樣的升級狂魔,升級了讓我降級是不可能的,降級是不能接受的,不建議採納。
方案二:使用舊打包工具
方案可行,在gradle.properties文件中添加以下內容,Android studio已經明確將要取消該打包方案,且不推薦使用了,優化的新打包方案在apk體積壓縮等其他方面是很有優勢的,不能爲了解決這個問題丟失其他的優勢,不建議採納。
android.useNewApkCreator=false
方案三:刪除項目中的所有build文件
該方案純屬扯淡,沒有毛線用,方案不可行
方案四:關機重啓或Invalidate Caches/Restart重啓Android studio
該方案只會讓你更失望,方案不可行
終極方案:更改打包生成路徑
對的就是更改apk生成的路徑,舉個栗子,Android studio 打包默認路徑是這樣的:
等待你的就是`Entry name 'res/layout/test_toolbar.xml' collided`
解決辦法,更改生成apk的路徑,如
wonderful!問題解決了。 路徑隨意改,如果選的文件夾路徑不存在,先創建好文件夾再繼續操作就能成功。