赞
踩
- Manifest merger failed : Attribute application@theme value=(@style/Theme.MyTestProject) from AndroidManifest.xml:12:9-51
- is also present at [com.github.crazyandcoder:citypicker:6.0.2] AndroidManifest.xml:14:9-40 value=(@style/AppTheme).
- Suggestion: add 'tools:replace="android:theme"' to <application> element at AndroidManifest.xml:6:5-23:19 to override.
本来不知道怎么解决,后来发现,解决办法AS早已给出提示
在 application 中把这几行代码改成AS提示的就好了
- <application
- ...
- android:theme="@style/AppTheme"
- android:appComponentFactory=""
- tools:replace="android:appComponentFactory">
补充:
原因:
AS的Gradle插件默认会启用Manifest Merger Tool,若Library项目中也定义了与主项目相同的属性(例如默认生成的Android:icon和android:theme),则此时会合并失败,并报上面的错误。
解决方法有以下2种:
方法1:在Manifest.xml的application标签下添加
tools:replace=”android:icon, android:theme”
(多个属性用,隔开,并且记住在manifest根标签上加
xmlns:tools=http://schemas.android.com/tools”
,否则会找不到namespace哦)
方法2:
在build.gradle根标签上加上useOldManifestMerger true (懒人方法)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。