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

来源:互联网 发布:观军事知天下视频 编辑:程序博客网 时间:2024/06/06 01:04

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