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

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

报错1

所导入的依赖为这个

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

于是多管闲事的我试着导入了下,也出错了,不过没出现上面截图的错误,而出现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,问题解决。

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/
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值