1. 程式人生 > >解決Android Studio新增依賴時出現“Manifest merger failed”錯誤

解決Android Studio新增依賴時出現“Manifest merger failed”錯誤

今天在使用GitHub上面的開源專案SweetAlertDialog時,出現Android Studio匯入第三方依賴庫時報錯,出現這個:

報錯1

所匯入的依賴為這個

於是多管閒事的我試著匯入了下,也出錯了,不過沒出現上面截圖的錯誤,而出現Manifest merger failed(Manifest合併失敗)錯誤,如下圖:

報錯2

1
2
3
4
5
Error:(7, 9) Attribute application@icon value=(@mipmap/ic_launcher) from AndroidManifest.xml:7:9
Error:(7, 9) Execution failed for
task ':importdemo:processDebugManifest'.

> Manifest merger failed : Attribute application@icon value=(@mipmap/ic_launcher) from AndroidManifest.xml:7:9
is also present at com.pnikosis:materialish-progress:1.0:13:9 value=(@drawable/ic_launcher)
Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:
5:5 to override

分析錯誤

分析錯誤提示,

  1. 主程式module清單檔案中,application節點的android:icon屬性引用了@mipmap/ic_launcher圖片資源,
  2. 而依賴module的清單檔案中,同樣的android:icon屬性卻引用了@drawable/ic_launcher這個圖片資源,

兩個屬性值產生衝突,導致合併清單檔案失敗。

雖然知道錯誤是什麼,但是仍然不知道咋解決啊。
其實英語沒那麼糟糕,細心點的話,就能看到錯誤提示中就給出瞭解決問題的建議。

Suggestion: add ‘tools:replace=”android:icon”‘ to element at AndroidManifest.xml:5:5 to override

意思在AndroidManifest.xml檔案的<application>節點中新增tools:replace="android:icon"屬性。

修改

按提示進行修改,再同步Gradle,問題解決。


轉載地址:http://licheedev.com/2015/05/20/manifest-merger-failed/