我有一个第三方库,它依赖于:import android.support.v4.util.ArraySet;我想在项目的其余部分使用最新的 Android 库:import androidx.collection.ArraySet;然而,由于我是通过 Maven 获取该库的,所以我似乎无法强制它替换 androidx 的 v4 依赖项并让它引用正确的类。我已经尝试过:implementation 'androidx.collection:collection:1.1.0'implementation('some-library:v1') { exclude group: 'com.android.support', module: 'support-v4'}和:configurations.all { resolutionStrategy.dependencySubstitution { substitute module('com.android.support:support-v4') with module('androidx.collection:collection:1.1.0') }}我什至尝试了更多的事情,包括force=true我想要的依赖项。然而我仍然得到:java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/util/ArraySet;当我无法访问源代码时,如何告诉 Gradle 解析android.support.v4.util.ArraySetto的导入?androidx.collection.ArraySet
1 回答
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
根据迁移到 AndroidX 指南:
android.enableJetifier=true
Android 插件会通过重写二进制文件自动迁移现有的第三方库以使用 AndroidX。
因此,Maven 依赖项的重写正是 Jetifier 为您所做的。确保您已将其添加android.enableJetifier=true
到gradle.properties
文件中以启用 Jetifier。
添加回答
举报
0/150
提交
取消