使用 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