Butterknife(10.0.0):Manifest merger failed的坑

本文记录了解决在项目中使用ButterKnife时遇到的与Support库冲突的问题,通过降低ButterKnife版本和调整依赖配置成功解决了Manifest merger失败的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在写一个项目使用到了黄油刀,但是我在引入最新版的butterknife时报错了,what?以前怎么没有遇见过,于是呼踩起来。。。

错误日志

Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:6:5-22:19 to override.

学会看log:

support 和androidx 包冲突
大概意思:清单文件合并失败了,原因是support中的清单文件的application也存在与androidx中,建议你再application节点下添加’tools:replace=“android:appComponentFactory”

get

这还不容易按照做呗,一顿操作猛如虎,做了后,更多的error log,出来了(这里就不贴log了),怎么办?心里没底了,哎,仔细一想我以前使用怎么没事?先降低版本试试,换个以前使用的butterknife8.8.0的试试,哎别说还真的可以使用了,这难道还有啥猫腻,找度娘看看。

解决

1 本人直接使用了快速的方法解决—降低版本(最新版本的框架总是存在未知的问题)

2 其他详细的具体解决参考这位大佬的文章:导入依赖butterknife 10.0.0 报错 Attribute application@appComponentFactory

附: 诸如此类的坑

添加butterknife依赖而导致的v4包冲突的问题


compile ('com.jakewharton:butterknife:8.8.1'){
    exclude group: 'com.android.support'

小结

遇到问题要学会看日志,多思考 问题总会迎刃而解。另外多谢那位大佬的文章分享。溜了溜了。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值