Fabric SDK 現(xiàn)已棄用叉庐,但在 2020 年 11 月 15 日之前仍會繼續(xù)報告應用崩潰情況锚国。從 2020 年 11 月 15 日開始托享,F(xiàn)abric SDK 和舊版 Firebase Crashlytics SDK 將停止發(fā)送您的應用的崩潰報告。如需繼續(xù)在 Firebase 控制臺中獲取崩潰報告顶瞒,請務必將 Firebase Crashlytics SDK 升級到 17.0.0 及更高版本(Android 版)夸政、4.0.0 及更高版本(iOS 版)和 6.15.0 及更高版本(Unity 版)。
升級步驟
1榴徐、刪除fabric相關(guān)
//product build.gradle文件
dependencies下:
classpath 'io.fabric.tools:gradle:1.25.4'//crashlytics profile
repositories下:
maven {
url 'http://s3.amazonaws.com/fabric-artifacts/public'
}
//App build.gradle文件
apply plugin: 'io.fabric'//crashlytics profile
//firebase崩潰上報
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
2守问、添加新的依賴
//product build.gradle文件
dependencies下:
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'
repositories下:
google()
mavenCentral()
//App build.gradle文件
apply plugin: 'com.google.firebase.crashlytics'//crashlytics profile
api platform("com.google.firebase:firebase-bom:${rootProject.firebaseBomVersion}")
api 'com.google.firebase:firebase-core'
api 'com.google.firebase:firebase-crashlytics'
3、打Release包錯誤
* What went wrong:
Execution failed for task ':app:uploadCrashlyticsMappingFileXXXRelease'.
> org.apache.http.conn.HttpHostConnectException: Connect to firebasecrashlyticssymbols.googleapis.com:443 [firebasecrashlyticssymbols.googleapis.com/172.217.160.74] failed: Connection timed out: connect
解決方法:
是因為打release包的時候坑资,F(xiàn)irebase Crashlytics SDK需要將項目混淆后的Mapping等文件上傳到Google的服務器耗帕,也就是app模塊的uploadCrashlyticsMappingFileXXXRelease這個task,然后出現(xiàn)崩潰后我們可以直接在線上拿到正常的崩潰日志袱贮,而不是混淆后的日志仿便。
然而問題就出在上傳Mapping文件到Google服務器這一步,這里你就必須要科學上網(wǎng)了攒巍。
然而當你開啟科學上網(wǎng)的軟件后嗽仪,如果不在項目中設置相應的代理信息,編譯還是會出錯柒莉,所以我們還需要在項目的gradle.properties中進行相應的設置:
systemProp.https.proxyHost=xxx.xxx.xxx.xxx
systemProp.https.proxyPort=xxxx
1
2
proxyHost:代理的主機的地址闻坚,如果是你自己電腦開的科學上網(wǎng)軟件,那么可以填寫127.0.0.1兢孝;
proxyPort:代理的端口地址窿凤,一般你的科學上網(wǎng)軟件開啟之后你可以去軟件的設置中查看下它的代理端口是多少然后填寫到這里就可以了仅偎;
gradle.taskGraph.whenReady {
tasks.each { task ->
if (task.name.contains("uploadCrashlyticsMappingFile")) {
task.enabled = false
}
}
}