Crashlytics Gradle प्लग इन v3 पर अपग्रेड करें

Crashlytics Gradle प्लग इन का नया रिलीज़, एक मेजर वर्शन (v3.0.0) है. यह Gradle और Android Gradle प्लग इन के पुराने वर्शन के साथ काम नहीं करता. इससे SDK टूल को आधुनिक बनाया जाता है. इसके अलावा, इस रिलीज़ में किए गए बदलावों से AGP v8.1+ की समस्याएं हल हो जाती हैं. साथ ही, खास ऐप्लिकेशन और पसंद के मुताबिक बनाए गए बिल्ड के लिए सहायता मिलती है.

ज़रूरी शर्तें

Crashlytics Gradle प्लग इन के वर्शन 3 के लिए, ये ज़रूरी शर्तें हैं:

  • Android Gradle प्लग इन 8.1 और इसके बाद के वर्शन
    Android Studio के सबसे नए वर्शन पर, Android Gradle प्लग इन अपग्रेड असिस्टेंट का इस्तेमाल करके, इस प्लग इन को अपग्रेड करें.

  • Firebase का google-services Gradle प्लग इन 4.4.1+
    अपने प्रोजेक्ट की Gradle बिल्ड फ़ाइल में नया वर्शन तय करके, इस प्लग इन को अपग्रेड करें. इसका उदाहरण नीचे दिया गया है:

Kotlin

plugins {
  id("com.android.application") version "8.1.4" apply false
  id("com.google.gms.google-services") version "4.4.2" apply false
  ...
}

Groovy

plugins {
  id 'com.android.application' version '8.1.4' apply false
  id 'com.google.gms.google-services' version '4.4.2' apply false
  ...
}

Crashlytics एक्सटेंशन में बदलाव किए गए

Crashlytics Gradle प्लग इन के तीसरे वर्शन के साथ, Crashlytics एक्सटेंशन में ये बदलाव किए गए हैं:

  • defaultConfig Android ब्लॉक से एक्सटेंशन हटा दिया गया. इसके बजाय, आपको हर वैरिएंट को कॉन्फ़िगर करना चाहिए.

  • काम न करने वाले फ़ील्ड mappingFile को हटाया गया. इसके बजाय, मर्ज की गई मैपिंग फ़ाइल अब अपने-आप उपलब्ध कराई जाती है.

  • काम न करने वाले फ़ील्ड strippedNativeLibsDir को हटाया गया. इसके बजाय, आपको सभी नेटिव लिब्स के लिए unstrippedNativeLibsDir का इस्तेमाल करना चाहिए.

  • unstrippedNativeLibsDir फ़ील्ड को 'कुल' के तौर पर सेट किया गया.

  • क्लोज़र फ़ील्ड symbolGenerator को दो नए टॉप लेवल फ़ील्ड से बदल दिया गया है:

    • symbolGeneratorType, "breakpad" (डिफ़ॉल्ट) या "csym" की स्ट्रिंग.
    • breakpadBinary, स्थानीय dump_syms बाइनरी बदलाव की फ़ाइल.

एक्सटेंशन को अपग्रेड करने के तरीके का उदाहरण

Kotlin

इससे पहले
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGenerator(
                closureOf<SymbolGenerator> {
                  symbolGeneratorType = "breakpad"
                  breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              )
            }
          }
        }
      
अब वर्शन 3 में
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGeneratorType = "breakpad"
              breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }
      

Groovy

इससे पहले
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGenerator {
                breakpad {
                  binary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              }
            }
          }
        }
      
अब v3 में उपलब्ध है
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGeneratorType "breakpad"
              breakpadBinary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }