gpt4 book ai didi

java - 将 Maven 库中的 android.support.v4.util.ArraySet 替换为 androidx.collection.ArraySet

转载 作者:行者123 更新时间:2023-12-02 09:25:17 25 4
gpt4 key购买 nike

我有一个第三方库,它依赖于:

导入 android.support.v4.util.ArraySet;

我想在项目的其余部分使用最新的 Android 库:

导入 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.ArraySet 的导入解析为 androidx.collection.ArraySet源代码?

最佳答案

根据 Migrate to AndroidX guide :

android.enableJetifier=true

The Android plugin automatically migrates existing third-party libraries to use AndroidX by rewriting their binaries.

因此,Maven 依赖项的重写正是 Jetifier 为您所做的。确保您已将 android.enableJetifier=true 添加到 gradle.properties 文件中以启用 Jetifier。

关于java - 将 Maven 库中的 android.support.v4.util.ArraySet 替换为 androidx.collection.ArraySet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58385088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com