我正在使用Android Studio 3.2 Canary 14,我正在尝试迁移现有项目以使用AndroidX
。它来自https://developer.android.com/topic/libraries/support-library/androidx-rn,我必须设置android.enableJetifier=true
(这在我选择“Refactor to AndroidX ..”选项时会自动完成)。我还将目标API级别更新为28.还有其他人看到此问题吗?
无法转换 使用Jetifier'/Users/jooreill/.gradle/caches/modules-2/files-2.1/com.google.firebase/firebase-perf/15.0.0/6e68f6e44b0c9d91756f903547ee3853349ae666/firebase-perf-15.0.0.aar'。原因:null。 (运行--stacktrace了解更多信息 详细信息。)要禁用Jetifier,请在中设置android.enableJetifier = false 你的gradle.properties文件。
运行“清洁”时发生上述错误。一般情况下,如果执行gradle同步,我会收到多个错误:
无法解析依赖关系 ':app-instant @ debug / compileClasspath':无法转换文件 'play-services-measurement-base-15.0.2.aar'匹配属性 {artifactType = jetified-aar}使用transform JetifyTransform
答案 0 :(得分:5)
对于那些在使用“Refactor to AndroidX ...”后遇到与Android Studio 3.2 Canary 15(或更高版本)相同问题的人:
我必须手动更新一些依赖项,即更改
classpath 'io.fabric.tools:gradle:1.25.1'
到
classpath 'io.fabric.tools:gradle:1.27.0'
在我的项目的build.gradle文件中。
如果您使用的是匕首,则必须升级到2.20或更高版本。
这是因为某些库尚未与AndroidX release notes中的已知问题中提到的AndroidX重构兼容。
答案 1 :(得分:3)
根据Google工程师(支持图书馆)在I / O会话“支持库中的新功能”中所做的statement on the AndroidX refactor,Google已经在Android Studio 3.2 Canary 14中发现了与Jetifier相关的错误。< / p>
因此,建议在开始AndroidX迁移过程之前等到Canary 15(将在下周发布)。
答案 2 :(得分:2)
我可以通过排除某些库来解决类似的问题,这可以通过添加到gradle.properties中来完成:
android.jetifier.blacklist = ...
请注意,此选项是在Android Gradle插件3.3.0-rc01中添加的,它是一个临时解决方法。 有关更多详细信息,请参见https://issuetracker.google.com/issues/119135578#comment5。
答案 3 :(得分:1)
我在Jenkins上运行assembleAndroidTest时遇到了这个问题。 最奇怪的部分是,此任务在我的Mac终端上运行了所有问题而没有任何问题,但是在Jenkins上失败了-
Failed to transform file 'cucumber-java-1.2.5.jar' to match attributes {artifactType=processed-jar} using transform JetifyTransform
几天来一直在寻找解决方案,尽管提出了不同的建议,但都没有奏效。
最后,在gradle.properties中禁用Jetifier可以解决该问题。
android.enableJetifier=false
答案 4 :(得分:0)
将JDK 11添加到我的机器后,我也遇到了同样的错误。它将自身设置为默认JDK,此错误开始发生。
将JDK 8设置为默认值后,它已修复。