当前位置: 代码迷 >> 综合 >> Butterknife(10.0.0):Manifest merger failed的坑
  详细解决方案

Butterknife(10.0.0):Manifest merger failed的坑

热度:43   发布时间:2023-12-16 11:47:28.0

最近在写一个项目使用到了黄油刀,但是我在引入最新版的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'

小结

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

  相关解决方案