关闭

AndroidStudio引用lib库时,Gradle报的“tools:replace=”错误

标签: android
754人阅读 评论(0) 收藏 举报
分类:

1、将一个工程当做lib库

2、主工程引用此lib库

3、当lib库中与主项目的Manifest中定义了相同属性时,就会报如下错误:

Error:Execution failed for task ':MediaTest:processDebugManifest'.  (备注:MediaTest是项目名称
> Manifest merger failed : Attribute application@icon value=(@mipmap/ic_launcher) from AndroidManifest.xml:5:45-79
    is also present at [RobotApplication:CarvpAPIs:unspecified] AndroidManifest.xml:16:9-36 value=(@mipmap/icon).
    Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:5:5-14:19 to override.

这是由于AndroidStudio的Gradle插件默认会启用Manifest Merger Tool


解决:

由上面的错误信息的Suggestion可以看出,可以在Manifest.xml文件中加入'tools:replace="android:icon"'到Application元素中(如果有别的属性冲突,也加入别的属性)。

请注意:要在Manifest的跟上加入xmlns:tools="http://schemas.android.com/tools",如下图:


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:139805次
    • 积分:1438
    • 等级:
    • 排名:千里之外
    • 原创:16篇
    • 转载:30篇
    • 译文:0篇
    • 评论:18条