У меня есть сторонняя библиотека, которая зависит от:
import android.support.v4.util.ArraySet;
И я хочу использовать новейшие библиотеки Android в остальной части моего проекта:
import androidx.collection.ArraySet;
Однако, поскольку я получаю библиотеку через Maven, я не могу заставить ее заменить зависимость v4 для androidx и сделать так, чтобы она ссылалась на правильный класс.
Я уже пробовал:
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
, когда у меня нет доступа к исходному коду?