Я сталкиваюсь с чем-то вроде этого, и ниже основан на моем другом ответе :
Ваш проект (или один из его подпроектов) ссылается на зависимость, используя + знак плюс в конце, например com.google.firebase:firebase-auth:+
, что означает, что по возможности используйте любую более высокую версию, и эта более новая версия больше не использует библиотеки android.support
и вместо этого использует androidx
;Чтобы устранить эту проблему, выполните следующие шаги:
Шаги:
- Убедитесь, что установлена переменная среды
ANDROID_HOME
, а затем откройте окно консоли (например, git-bash,потому что он сохраняет весь вывод команды) и cd
в каталог android
(для проектов Ionic это должно быть platforms/android
). - Во-первых, Выведите список всех зависимостей , запустивниже (в git-bash):
./gradlew :app:dependencies
Скопируйте результат в предпочитаемый вами текстовый редактор и выполните поиск
androidx
. Если вы нашли что-то, выполните следующие шаги, иначе все готово!(и вам не нужно повторять эти шаги). Прокрутите вверх, пока не увидите
-> в конце любой строки, как, например,
16.0.8 -> 19.0.0
или
+ -> 19.0.0
, что означает, что версия была автоматически разрешена (что-то выше указанного вами из-за
+ ). Итак, установитеверсия вниз вручную:
- По возможности, в вашем проекте (или подпроекте) найдите и замените знак + на определенную версию.
- Или принудительно введите конкретный вариантверсия зависимостей, как указано ниже.
Наконец, повторите вышеописанные шаги (но вместо первого шага просто
clear
консоль).
To Принудительно указать конкретную версию зависимостей добавить в корневой файл build.gradle
что-то вроде ниже (что мне помогло), но, конечно, отредактируйте ниже и добавьте свои собственные правила (потому что они могут не работатьдля вашего случая):
allprojects {
// ...
configurations.all {
resolutionStrategy {
force 'com.google.firebase:firebase-common:17.0.0'
force 'com.google.android.gms:play-services-basement:16.2.0'
force 'com.google.firebase:firebase-iid:16.0.0'
force 'com.google.firebase:firebase-auth:17.0.0'
}
}
}