الترقية إلى الإصدار 3 من المكوّن الإضافي Crashlytics Gradle

يُعد الإصدار الأخير من المكون الإضافي Crashlytics Gradle أحد أهم (الإصدار 3.0.0) وتحديث حزمة SDK من خلال التوقف عن دعم الإصدارات الأقدم من Gradle والمكوّن الإضافي لنظام Gradle المتوافق مع Android. بالإضافة إلى ذلك، فإن التغييرات في هذه الإصدار لحل مشكلات الإصدار 8.1 من AGP أو الإصدارات الأحدث وتحسين التوافق مع التطبيقات الأصلية الإصدارات المخصّصة.

الحد الأدنى من المتطلبات

يتضمن الإصدار 3 من المكوّن الإضافي Crashlytics Gradle الحد الأدنى من المتطلبات التالية:

  • المكوّن الإضافي لنظام Gradle المتوافق مع Android 8.1 أو الإصدارات الأحدث
    ترقية هذا المكون الإضافي باستخدام مساعد ترقية المكوّن الإضافي لنظام Gradle المتوافق مع Android على أحدث إصدار من "استوديو Android"

  • المكوّن الإضافي 4.4.1 من Gradle وgoogle-services
    من Firebase يمكنك ترقية هذا المكوّن الإضافي من خلال تحديد أحدث إصدار في أداة 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 التغييرات التي قد تؤدي إلى عطل:

  • تمت إزالة الإضافة من حظر Android defaultConfig. بدلاً من ذلك، يجب ضبط كل صيغة

  • تمت إزالة الحقل المتوقّف mappingFile. بدلاً من ذلك، تم دمج ملف التعيين يتم تقديمه تلقائيًا الآن.

  • تمت إزالة الحقل المتوقّف strippedNativeLibsDir. بدلاً من ذلك، يجب عليك استخدام unstrippedNativeLibsDir لكل لغات libs الأصلية.

  • تم تغيير الحقل 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")
            }
          }
        }