迁移到AndroidX

时间:2019-09-16 22:56:25

标签: android androidx localytics

我正在尝试迁移到AndroidX,我们在项目中使用了该库。但是,这目前在我们的项目中引起了问题:

  

无法解决':module @ buildType / compileClasspath'的依赖关系:   无法转换文件“ localytics-1.3.0.aar”以匹配属性   {artifactType = processed-aar}使用转换JetifyTransform

删除库会使此问题消失。 有什么解决方法可以让我迁移到AndroidX,直到该库被迁移?

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

我已经更新了gradle.properties。问题不在于安装程序,问题在于localytics似乎不支持androidX。我想确认一下是否有人知道,因为与他们联系会导致没有答案(他们的客户服务水平很差)。

enter image description here

3 个答案:

答案 0 :(得分:2)

有人在Github上发布了补丁:

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

答案 1 :(得分:1)

首先请在gradle.properties中添加以下行

android.useAndroidX = true

android.enableJetifier = true

可以分享您的build.gradle吗?可能在那里可能还有另一个问题。请像这样更新以下本地语言库。

classpath'io.fabric.tools:gradle:1.25.1'到

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

答案 2 :(得分:1)

如果jetfier在该库上不起作用,我认为您可以尝试一些解决方法,例如:

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

  • 从整体上禁用喷射器(在android.enableJetifier=false上设置gradle.properties

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

gradle.properties

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

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