您的位置:首页 > 移动开发 > Android开发

解决Android Studio添加依赖时出现“Manifest merger failed”错误

2016-04-01 22:16 801 查看



今天在使用GitHub上面的开源项目SweetAlertDialog时,出现Android Studio导入第三方依赖库时报错,出现这个:





所导入的依赖为这个

SweetAlertDialog:

https://github.com/pedant/sweet-alert-dialog

于是多管闲事的我试着导入了下,也出错了,不过没出现上面截图的错误,而出现
Manifest
merger failed(Manifest合并失败)
错误,如下图:




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





分析错误提示,

主程序module清单文件中,
application
节点的
android:icon
属性引用了
@mipmap/ic_launcher
图片资源,
而依赖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,问题解决。

tools:replace
属性的作用可以在这个页面找到(需要搭梯)

http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger

在页面搜索
Override
an attribute coming from a library
即可定位到。

转载地址:http://licheedev.com/2015/05/20/manifest-merger-failed/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: