Ваш проект (или один из его подпроектов) ссылается на зависимость, используя в конце знак плюса + , например 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
консоль).
К Принудительно установите конкретную версию зависимостей , добавьте в свой корень 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'
}
}
}