使用 leakcanary 2.0 alpha 2 时清单合并失败
Manifest merger failed when using leakcanary 2.0 alpha 2
我在我的项目中使用 leakcanary 1.6.3
来查找内存泄漏没有任何问题:
debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.3'
现在我想将其更新为 leakcanary 2.0 alpha 2
使用:
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.0-alpha-2
但是当我尝试构建项目时,它给了我 manifest merger failed
。
ERROR: 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.1] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:10:5-50:19 to override.
如何修复此错误?
更新:我在我的项目中使用 android.support
库。
在研究 leakcanary 2.0 alpha 2
代码后,我发现新版本的库使用了 androidx
个库,但我在我的项目中使用了 android.support
个库。如果我重构我的项目以使用 androidx
那么不会发生错误。
好像是:
- 使用
androidx
的项目可以使用使用 android.support
的库
- 但是使用
android.support
的项目不能使用使用androidx
的库
所以回答解释 androidx
以及如何将您的项目迁移到 androidx
。
我在我的项目中使用 leakcanary 1.6.3
来查找内存泄漏没有任何问题:
debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.3'
现在我想将其更新为 leakcanary 2.0 alpha 2
使用:
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.0-alpha-2
但是当我尝试构建项目时,它给了我 manifest merger failed
。
ERROR: 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.1] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:10:5-50:19 to override.
如何修复此错误?
更新:我在我的项目中使用 android.support
库。
在研究 leakcanary 2.0 alpha 2
代码后,我发现新版本的库使用了 androidx
个库,但我在我的项目中使用了 android.support
个库。如果我重构我的项目以使用 androidx
那么不会发生错误。
好像是:
- 使用
androidx
的项目可以使用使用android.support
的库
- 但是使用
android.support
的项目不能使用使用androidx
的库
androidx
以及如何将您的项目迁移到 androidx
。