Плагин Android Gradle поддерживает только плагин Crashlytics Gradle версии 1.25.4 и выше. В проекте "***" используется версия 1.25.1

Evironment: Android Studio 3.2

Я получил ошибку

Плагин Android Gradle поддерживает только плагин Crashlytics Gradle версии 1.25.4 и выше. Проект "***" использует версию 1.25.1.

Любая идея, как решить? Спасибо.

Ответ 1

"Плагин Crashlytics Gradle" находится в gradle в пакете io.fabric.tools:gradle, как указано в https://firebase.google.com/docs/crashlytics/get-started#android

Вы должны найти это в своих проектах корневой файл build.gradle. Похоже на это

buildscript {
    repositories {
        jcenter()
        google()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'io.fabric.tools:gradle:1.25.1'
        ...
    }
}

allprojects {
    ...

Как только вы измените его на classpath 'io.fabric.tools:gradle:1.25.4' эта ошибка исчезнет.

Версии зависимости maven также можно найти в репозитории maven в разделе

https://maven.fabric.io/public/io/fabric/tools/gradle/maven-metadata.xml

Этот трюк должен работать для всех репозиториев Maven, если вы знаете URL:

<repo-base-url>/${groupId.replace('.','/')}/${artifactId}/maven-metadata.xml

Вы также можете использовать подключаемый модуль Gradle, например https://github.com/ben-manes/gradle-versions-plugin, чтобы он мог найти последние версии этих файлов maven-metadata.xml.

Если вы просто хотите получить последнюю версию, вы также можете определить версию с подстановочным знаком, например

classpath 'io.fabric.tools:gradle:1.+' // or even ...:gradle:+'

Это всегда даст вам последнюю версию, которая начинается с 1... Это редко делается в производстве, поскольку сборки становятся менее детерминированными, когда версии зависимостей меняются от одного момента к другому. Но хорошо бы проверить, загружает ли Gradle более новую версию.

Кроме того, Android Studio также проверяет версии, однако вы не видите разницы между отсутствием новой версии и тем, когда проверка еще не была завершена. Но когда это произойдет, вы получите подсказку проверки, и это может быть быстро исправлено.

Ответ 2

Это точное сообщение об ошибке можно встретить по-другому: устаревшая react-native-firebase. Решение Zapl, скорее всего, необходимо, но вам может просто понадобиться обновить свой package.json.

В моем случае, git merge привел все последние версии Firebase SDK для Android в директорию my/android, но мой package.json был оставлен со ссылкой на более старую версию response-native-firebase (3.x). Я установил на 5.3 и проблема решена.