चुना हुआ उत्तर किसी भी अधिक सही नहीं है। Google ने Crashlytics के एकीकरण को बदल दिया । मेरा वर्तमान संस्करण है 2.9.1
और केवल एक चीज जो मुझे करनी है, वह implementation 'com.crashlytics.sdk.android:crashlytics:2.9.1'
है मेरी ग्रेडल फ़ाइल में जोड़ना । आगे और कोई चीज़ की आवश्यकता नहीं है, अच्छा है लेकिन इसका मतलब है कि क्रैशलाईटिक्स हमेशा चल रहा है।
समाधान 1
केवल रिलीज़ संस्करण में क्रैशलाइक्स संकलित करें:
dependencies {
...
releaseImplementation 'com.crashlytics.sdk.android:crashlytics:2.9.1' // update version
}
समाधान २
यदि आप इसके अलावा Crashlytics कॉन्फ़िगर करना चाहते हैं तो समाधान 1 काम नहीं कर रहा है, क्योंकि Crashlytics वर्ग डीबग बिल्ड में नहीं मिलेगा। इसलिए ग्रैडल कार्यान्वयन को वापस इसमें बदलें:
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.1' // update version
फिर अपने मेनिफेस्ट में जाएं और 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());
}
यह केवल रिलीज़ संस्करणों में क्रैशलाइटिक्स को सक्षम करेगा। सावधान रहें, BuildConfig.DEBUG के लिए भी जाँच करें जब आप क्रैशशेटिक्स, जैसे कॉन्फ़िगर करते हैं:
if (!BuildConfig.DEBUG) {
Crashlytics.setUserIdentifier("HASH_ID");
}