环境:Android Studio 3.2
我遇到了错误
Android Gradle插件仅支持Crashlytics Gradle插件 版本1.25.4及更高版本。项目“ ***”正在使用1.25.1版。
任何想法如何解决?谢谢。
答案 0 :(得分:46)
如https://firebase.google.com/docs/crashlytics/get-started#android所述,在io.fabric.tools:gradle
软件包的gradle中可以找到“ Crashlytics Gradle插件”
您应该在项目根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
一旦您知道url,该技巧就应适用于所有Maven存储库:
<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也会检查版本,但是您看不到没有新版本和尚未完成检查之间的区别。但是,这样做后,您会得到一个检查提示,并且可以快速修复。
答案 1 :(得分:1)
对于尝试在Flutter上使用firebase_crashlytics插件时遇到此问题的人,请确保您仅按照该插件本身在pub.dev页面上的说明进行操作。不要遵循Firebase site上的说明。两者都会造成冲突。
您可能仍需要将io.fabric.tools:gradle
文件中android/build.gradle
类路径的版本号更新为错误日志要求的版本。
编辑:对于那些正在寻找最新结构版本的人,您可以在这里找到它:https://s3.amazonaws.com/fabric-artifacts/public/io/fabric/tools/gradle/maven-metadata.xml
答案 2 :(得分:0)
此 exact 错误消息可能会以另一种方式遇到:react-native-firebase
的过时版本。 Zapl的解决方案很有可能是必需的,但您可能只需更新您的package.json。
就我而言,一个git merge
已在/ android目录中引入了所有最新的Android Firebase SDK,但我的package.json
却是指旧版本的react-native-firebase (3.x)。我将其设置为5.3,问题已解决。