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

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

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

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

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

  • google-services مكوّن Gradle الإضافي 4.4.1+
    في 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")
            }
          }
        }