android - 为特定模块或依赖禁用 android.enableJetifier
问题描述
在我的以下设置中运行 Android Studio 3.2 gradle.properties
:
android.useAndroidX=true
android.enableJetifier=true
我有一个带有一些 C/Java 代码的本机项目。使用这些设置,编译将失败并显示以下错误消息:
org.gradle.api.artifacts.transform.ArtifactTransformException:无法使用转换 JetifyTransform 转换文件“android.jar”以匹配属性 {artifactType=processed-jar}
java.lang.RuntimeException:无法转换“C:\Android\sdk” \platforms\android-28\android.jar' 使用 Jetifier。
我相信它不喜欢我的 gradle 文件:
apply plugin: 'java'
...
dependencies {
implementation files("${mySdkDir}/android.jar")
}
我知道我可以全局关闭enableJetifier
,这确实会使这个错误消失。但是,我只想为这个特定的模块/依赖项禁用 jetifier。
如何设置enableJetifier=false
原生/java 模块项目?
解决方案
问题可能不是如何禁用模块的 Jetifier -
因为这是因为模块使用了错误的插件。
apply plugin: "com.android.application"
// apply plugin: "com.android.library"
android {
...
}
没有办法禁用模块的 Jetifier,因为它是一个项目范围的功能......所以解决这个问题的唯一方法是不要在块android.jar
中明确列出。dependencies
它甚至不打算被打包,因此它在那里没有丢失任何东西——它也不打算由 Jetifier 处理,这仅仅是将它声明为依赖项的结果。
推荐阅读
- cors - 没有 cors 配置不适用于 json-server
- .net - 存储在 Firestore 中时如何从数组中删除对象
- python - Django-allauth - 使用 OneToOneField 自定义注册
- spreadsheet - 使用 Google Apps 脚本触发器和权限复制电子表格
- c# - C# 不转义 Lucene 查询中的搜索运算符
- blazor - 如何从 Blazor 中的组件获取更新的单例属性?
- javascript - 错误尝试通过 callign firebase.app() 使用未安装在您的 Android 项目上的 firebase 模块
- nexus - 从 Nexus 下载最高版本号的工件
- python - 如何将一个图形的轴分配给另一个图形的轴?
- python-3.x - TF-TRT 无法在 JetsonNano 中构建引擎