我有一個第三方庫,它依賴于: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
提交
取消