迁移到 AndroidX

Migrate to AndroidX

我正在尝试迁移到 AndroidX,我们在项目中使用了这个库。但是,这目前导致我们的项目出现问题:

Unable to resolve dependency for ':module@buildType/compileClasspath': Failed to transform file 'localytics-1.3.0.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform

删除库会使这个问题消失。 是否有任何解决方法可以让我迁移到 AndroidX 直到迁移此库?

根据文档:https://developer.android.com/jetpack/androidx/migrate

我已经更新了我的gradle.properties。问题不在于设置,问题在于 localytics 似乎不支持 androidX。如果有人知道,我想确认一下,因为联系他们没有得到答复(他们的客户服务很差)。

首先请在 gradle.properties

中添加以下行

android.useAndroidX=真

android.enableJetifier=真

你能分享一下你的 build.gradle 吗?可能会有另一个问题。请像这样更新以下 localytics 库。

类路径'io.fabric.tools:gradle:1.25.1'到

classpath 'io.fabric.tools:gradle:1.27.0'

如果 jetfier 无法在该库上运行,我认为您可以尝试一些解决方法,例如:

  • 更新库(v1.3.0是那个AAR的最新版本吗?)

  • 整体禁用 jetfier(在 gradle.properties 上设置 android.enableJetifier=false

  • 仅通过以下方式在该库上禁用 jetfier:

gradle.properties

android.enableJetifier=true
android.jetifier.blacklist = .*localytics.*
android.useAndroidX=true

最后一个选项需要 Android Gradle 插件版本

有人在 Github 上发布了补丁:

  1. 克隆存储库。
  2. 将analytics-android-integration-localytics项目更新到最新 Android 更新,包括 AndroidX。生成一个 jar 文件而不是 一个 aar 文件。 (这里是中奖品,必须是jar文件 让它工作。无论如何都不需要 aar 文件,因为没有 此项目的 aar 文件中的任何资源。)
  3. 删除消费项目中现有的 Maven 依赖项。
  4. 将 jar 文件作为新模块导入到使用项目中。
  5. 重建消耗项目。