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

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

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

Crashlytics Gradle प्लग इन v3 के लिए ज़रूरी शर्तें नीचे दी गई हैं:

  • '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 प्लग इन के v3 वर्शन से, 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")
                }
              }
            }
          }
        }
      
अब वर्शन 3 में
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGeneratorType "breakpad"
              breakpadBinary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }