Butterknife(10.0.0):Manifest merger failedのピット

3955 ワード

最近、バターナイフを使ったプロジェクトを書いていますが、最新版の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.

ロゴを見ることを学ぶ:
supportとandroidxパッケージが競合しているのは、supportのリストファイルのアプリケーションもandroidxに存在するため、アプリケーションノードの下に'tools:replace="android:appComponentFactory"を追加することをお勧めします.
get
これはまだやりにくいですね.1回の操作が虎のように強くて、やった後、もっとerror logが出てきました(ここではlogを貼らない)、どうしますか.心の底がなくて、ああ、よく考えてみると、私は以前使っていたのにどうして大丈夫ですか.まずバージョンを下げてみて、以前使っていたbutterknife 8.0に変えてみてください.まあ、本当に使えるとは言わないでください.これは猫が飽きているのではないでしょうか.度娘を探してみてください.
解決する
1本人は迅速な方法で解決しました.バージョンを下げる(最新バージョンのフレームワークには常に未知の問題があります)
2その他の詳細な具体的な解決この大物の文章を参考にします:butterknifeに依存する10.0.0を導入してAttributeを間違えますapplication@appComponentFactory
附:このような穴
butterknife依存性の追加によるv 4パケット競合の問題

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


小結
問題が発生したら、ログを見ることをマスターし、多くの問題を考えると、いつも解決します.また、あの大物の文章を共有してくれてありがとう.抜け出しました....