android - 即使降级版本,Firebase crashlytics 也无法构建
问题描述
我们在我们的应用程序中使用 Firebase,而我们仍在支持库 28 Not AndoridX 上。我设法添加了分析和性能监控,并且在研究了与 support-lib 28 兼容的合适版本后它们工作正常。
现在我正在尝试添加 crashlytics,并且从17.0.0一直到2.9.8的每个 lib 版本都出现构建错误
使用 2.9.8 它得到:
ERROR: Failed to resolve: com.google.firebase:firebase-crashlytics:2.9.8
Show in Project Structure dialog
Affected Modules: app
使用 17.0.0 我得到:
ERROR: Failed to resolve: com.google.firebase:firebase-
crashlytics:com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension_Decorated
Show in Project Structure dialog
Affected Modules: app
我的项目 build.gradle:
buildscript {
ext.kotlin_version = '1.3.60'
repositories {
google()
maven { url "http://dl.bintray.com/populov/maven" }
jcenter()
}
ext {
firebaseAnalytics = "16.3.0" //Firebase SDK for Google Analytics compatible with support lib
firebasePerformanceMonitoring = "17.0.2" //Firebase SDK for performance monitoring compatible with support lib
firebaseCrashlytics = "17.0.0" //Firebase Crashlytics
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.1'
classpath 'com.google.gms:google-services:4.3.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.firebase:perf-plugin:1.3.1' // Performance Monitoring plugin
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.0.0' // Crashlytics Gradle plugin.
}
}
allprojects {
repositories {
maven {
url "https://maven.google.com"
}
maven { url "http://dl.bintray.com/populov/maven" }
mavenCentral()
jcenter()
google()
}
}
app 模块 build.gradle 依赖块:
dependencies {
def supportLib_version = "28.0.0"
implementation "com.android.support:support-v4:$supportLib_version"
implementation "com.android.support:recyclerview-v7:$supportLib_version"
implementation "com.android.support:design:$supportLib_version"
........
implementation "com.google.firebase:firebase-analytics:$firebaseAnalytics"
implementation "com.google.firebase:firebase-perf:$firebasePerformanceMonitoring"
implementation "com.google.firebase:firebase-crashlytics:$firebaseCrashlytics"
}
虽然有些人可能会建议我们将项目迁移到 AndroidX,但这是一个包含许多库的大项目,而且我不是唯一致力于此的开发人员,因此 IMT 不可行
解决方案
Fabric/Firebaser here - 我认为总体而言,该项目中存在一些不正确的版本控制和依赖项集成,这会导致问题。
遗憾的是,在升级到 Android X 之前,您将无法使用 Firebase Crashlytics,因为它是此处所述的 Firebase Crashlytics SDK 的依赖项。
但是,您仍然可以在 Firebase 中使用旧版 Fabric Crashlytics SDK,您可以在此处找到相关说明:https ://firebase.google.com/docs/crashlytics/get-started?platform=android 。我建议取出您迄今为止尝试集成的任何 Crashlytics 设置,并按照那里的说明进行操作。对于它的价值,看起来你的版本控制错误,因为这个版本不存在:
com.google.firebase:firebase-crashlytics:2.9.8
firebase-crashltyics 只有 17.0.0 及更高版本。2.9.8 是我们前面提到的旧版 Fabric Crashlytics SDK 的一个版本,因此您希望使用这样的东西:
com.crashlytics.sdk.android:crashlytics:2.10.1
希望这可以帮助 :)
推荐阅读
- mysql - 从两个表中选择相同 id 的最短时间(MySQL)
- reactjs - 与 defaultProps 一起使用时导入的函数未定义
- java - 如何让我的线性探测散列函数更高效?
- php - 不确定为什么他不能说我的文件没有找到数据库
- c# - 动画冲突
- c# - wpf - 每列的 TreeListView 水平滚动条
- mysql - 用于地理空间分析的 MySQL 循环
- perl - 在 curses 库中绑定 return 和 esc 键(在 perl 中)
- emacs - 将 flycheck 与 compile_commands.json 一起使用
- rxjs - Rxjs - refCount 变为 0 后出现意外的 publishReplay + refCount 行为