在引入库文件时候,Android Studio报错

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 (懒人方法)

 摘自:Manifest值冲突解决方法 - 一点点征服 - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值