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.1" apply false
  ...
}

Groovy

plugins {
  id 'com.android.application' version '8.1.4' apply false
  id 'com.google.gms.google-services' version '4.4.1' 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")
            }
          }
        }