คำตอบที่เลือกไม่ถูกต้องอีกต่อไป Google เปลี่ยนการบูรณาการของ Crashlytics เวอร์ชันปัจจุบันของฉันคือ2.9.1
และสิ่งเดียวที่ฉันต้องทำคือเพิ่มimplementation 'com.crashlytics.sdk.android:crashlytics:2.9.1'
ไฟล์ Gradle ของฉัน ไม่จำเป็นต้องมีสิ่งใดเพิ่มเติมที่ดี แต่นี่หมายความว่า Crashlytics นั้นทำงานอยู่ตลอดเวลา
โซลูชันที่ 1
รวบรวม Crashlytics เฉพาะในรุ่นที่วางจำหน่าย:
dependencies {
...
releaseImplementation 'com.crashlytics.sdk.android:crashlytics:2.9.1' // update version
}
โซลูชันที่ 2
หากคุณต้องการกำหนดค่า Crashlytics เพิ่มเติมโซลูชัน 1 ไม่ทำงานเนื่องจากคลาส Crashlytics จะไม่พบใน Debug Builds ดังนั้นเปลี่ยนการใช้ Gradle กลับเป็น:
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.1' // update version
จากนั้นไปที่ Manifest ของคุณและเพิ่มmeta-data
แท็กต่อไปนี้ภายในapplication
แท็ก:
<application
android:name="...>
<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="false" />
...
</application>
เพิ่มในกิจกรรมการเปิดตัวของคุณ (จำเป็นครั้งเดียวเท่านั้นไม่ใช่ทุกกิจกรรม)
if (!BuildConfig.DEBUG) { // only enable bug tracking in release version
Fabric.with(this, new Crashlytics());
}
สิ่งนี้จะเปิดใช้งาน Crashlytics ในรุ่นที่วางจำหน่ายเท่านั้น ระวังตรวจสอบ BuildConfig.DEBUG ด้วยเมื่อคุณกำหนดค่า Crashlytics เช่น
if (!BuildConfig.DEBUG) {
Crashlytics.setUserIdentifier("HASH_ID");
}