为了账号安全,请及时绑定邮箱和手机立即绑定

将 Maven 库中的 android.support.v4.util.ArraySet 替换为

将 Maven 库中的 android.support.v4.util.ArraySet 替换为

侃侃无极 2023-10-27 10:49:35
我有一个第三方库,它依赖于: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=truegradle.properties文件中以启用 Jetifier。


查看完整回答
反对 回复 2023-10-27
  • 1 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信