在我的gradle.properties
中以以下设置运行Android Studio 3.2:
android.useAndroidX=true
android.enableJetifier=true
我有一个带有一些C / Java代码的本地项目。使用这些设置,编译将失败,并显示以下错误消息:
org.gradle.api.artifacts.transform.ArtifactTransformException:失败 转换文件“ android.jar”以匹配属性 {artifactType = processed-jar}使用转换JetifyTransform
java.lang.RuntimeException:转换失败 使用Jetifier的“ C:\ Android \ sdk \ platforms \ android-28 \ android.jar”。
我相信它不喜欢我的gradle文件:
apply plugin: 'java'
...
dependencies {
implementation files("${mySdkDir}/android.jar")
}
我知道我可以全局关闭enableJetifier
,这确实会使此错误消失。但是,我只想为此特定模块/依赖项禁用喷射器。
如何为本机/ java模块项目设置enableJetifier=false
?
答案 0 :(得分:0)
问题可能不在于如何为模块禁用Jetifier-
因为这是由于使用了错误的模块插件造成的。
apply plugin: "com.android.application"
// apply plugin: "com.android.library"
android {
...
}
无法禁用模块的Jetifier,因为它是项目范围的功能...因此,解决此问题的唯一方法是不要在{{1 }}块。它甚至不打算打包,因此它在那里什么也没丢失-也不意味着要由Jetifier处理,这仅仅是将其声明为依赖项的结果。