Crashlytics डैशबोर्ड (Android) में, पढ़ने लायक क्रैश रिपोर्ट पाना

प्लैटफ़ॉर्म चुनें: iOS+ Android Flutter Unity


Crashlytics Gradle प्लग इन, आपके कोड को धुंधला करने पर अपने-आप इसका पता लगा सकता है. जब आपका बिल्ड मैपिंग फ़ाइल जनरेट करता है, तो प्लग इन उसे अपलोड कर देता है इससे Crashlytics के सर्वर, आपके ऐप्लिकेशन के स्टैक ट्रेस को धुंधला न किए गए और आसानी से पढ़े जा सकने वाले कोड के तौर पर दिखाने के लिए, इस फ़ाइल का इस्तेमाल कर सकते हैं.

R8, ProGuard, और DexGuard का इस्तेमाल करते समय ज़रूरी कॉन्फ़िगरेशन

Crashlytics ProGuard के साथ काम करने वाली किसी भी मैपिंग फ़ाइल की मदद से, कोड को धुंधला करने की प्रोसेस को उलटा सकता है. और इसके अलावा, इसकी जांच ProGuard, R8, और DexGuard के साथ की गई है.

अगर आपका ऐप्लिकेशन, Android Gradle 4.2.0 या इसके बाद वाले वर्शन के साथ R8 का इस्तेमाल करता है और कोड को धुंधला करने की सुविधा चालू है, तो Crashlytics क्रैश की रिपोर्ट को आसानी से पढ़े जा सकने वाले फ़ॉर्मैट में जनरेट करेगा. ध्यान दें कि Crashlytics हाल ही में, Kotlin और R8, दोनों का इस्तेमाल करने वाले ऐप्लिकेशन के लिए बेहतर सहायता उपलब्ध कराई है. इससे, कुछ अनचाही लेबलिंग समस्याएं हो सकती हैं.

अगर आपका ऐप्लिकेशन, ProGuard कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करता है, तो आपको जानकारी को सुरक्षित रखना होगा. इससे, क्रैश की रिपोर्ट को आसानी से पढ़े जा सकने वाले फ़ॉर्मैट में जनरेट किया जा सकता है.Crashlytics इसके लिए, अपनी ProGuard या DexGuard कॉन्फ़िगरेशन फ़ाइल में ये लाइनें जोड़ें:

-keepattributes SourceFile,LineNumberTable        # Keep file names and line numbers.
-keep public class * extends java.lang.Exception  # Optional: Keep custom exceptions.

DexGuard से जुड़े सवालों या समस्याओं के लिए, सीधे Guardsquare की सहायता टीम से संपर्क करें. ProGuard से जुड़ी सहायता पाने के लिए, किसी विशेषज्ञ से मदद पाने के लिए Guardsquare कम्यूनिटी फ़ोरम पर जाएं.

कोड को धुंधला करने वाले बिल्ड वैरिएंट रखें

Crashlytics Gradle प्लग इन को, कोड को धुंधला करने वाले वैरिएंट के लिए मैपिंग फ़ाइल अपलोड करने से रोकने के लिए, अपने मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर <project>/<app-module>/build.gradle.kts या <project>/<app-module>/build.gradle) में, firebaseCrashlytics.mappingFileUploadEnabled Gradle एक्सटेंशन प्रॉपर्टी को false पर सेट करें. इससे, कोड को धुंधला करने वाले बिल्ड के लिए, बिल्ड के समय को कम करने में मदद मिल सकती है. हालांकि, ध्यान दें कि Firebase कंसोल के Crashlytics पेज पर, स्टैक ट्रेस धुंधले दिखेंगे.

Kotlin

import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension

// ...

android {

// To enable Crashlytics mapping file upload for specific build types:
buildTypes {
  getByName("debug") {
    minifyEnabled = true
    configure<CrashlyticsExtension> {
      mappingFileUploadEnabled = false
    }
  }
}

...

// To enable Crashlytics mapping file upload for specific product flavors:
flavorDimensions += "environment"
productFlavors {
  create("staging") {
    dimension = "environment"
    ...
    configure<CrashlyticsExtension> {
      mappingFileUploadEnabled = false
    }
  }
  create("prod") {
    dimension = "environment"
    ...
    configure<CrashlyticsExtension> {
      mappingFileUploadEnabled = true
    }
  }
}
}

Groovy

android {

// To enable Crashlytics mapping file upload for specific build types:
buildTypes {
  debug {
    minifyEnabled true
    firebaseCrashlytics {
      mappingFileUploadEnabled false
    }
  }
}

...

// To enable Crashlytics mapping file upload for specific product flavors:
flavorDimensions "environment"
productFlavors {
  staging {
    dimension "environment"
    ...
    firebaseCrashlytics {
      mappingFileUploadEnabled false
    }
  }
  prod {
    dimension "environment"
    ...
    firebaseCrashlytics {
      mappingFileUploadEnabled true
    }
  }
}
}