项目中开发了一个库以供其他模块引用,完成后运行报如下问题:
Suggestion: add 'tools:replace="android:theme"' to <application> element at AndroidManifest.xml:8:5-23:19 to override.
网上搜索了资料,原因大致如下:
AS的Gradle插件默认会启用Manifest Merger Tool,若Library项目中也定义了与主项目相同的属性(例如默认生成的android:icon和android:theme),则此时会合并失败,并报上面的错误。
解决方式为:在Manifest.xml的application标签下添加tools:replace=”android:icon, android:theme”(多个属性用,隔开,并且记住在manifest根标签上加入xmlns:tools=”http://schemas.android.com/tools",否则会找不到namespace哦)
然而我加上之后并没有预想的效果,不造为什么,最后用了一个变通的方式:将主题加在Activity上,同时还必须去掉application标签主题引用。运行不在报错。
记录一下如果以后有更好的解决方式在更新。