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",如下图: