آخرین نسخه افزونه Crashlytics Gradle یک نسخه اصلی (v3.0.0) است و با حذف پشتیبانی از نسخههای پایینتر Gradle و افزونه Android Gradle، SDK را مدرن میکند. علاوه بر این، تغییرات این نسخه مشکلات AGP نسخه ۸.۱+ را برطرف کرده و پشتیبانی از برنامههای بومی و نسخههای سفارشی را بهبود میبخشد.
حداقل الزامات
افزونه Crashlytics Gradle نسخه ۳ حداقل الزامات زیر را دارد:
افزونه Gradle اندروید نسخه ۸.۱+
این افزونه را با استفاده از دستیار ارتقاء افزونه Android Gradle در آخرین نسخه Android Studio ارتقا دهید.افزونه Gradle
google-servicesفایربیس نسخه ۴.۴.۱+
این افزونه را با مشخص کردن آخرین نسخه در فایل Gradle build پروژه خود، به صورت زیر ارتقا دهید:
Kotlin
plugins { id("com.android.application") version "8.1.4" apply false id("com.google.gms.google-services") version "4.4.4" apply false ... }
Groovy
plugins { id 'com.android.application' version '8.1.4' apply false id 'com.google.gms.google-services' version '4.4.4' apply false ... }
تغییرات در افزونهی Crashlytics
با نسخه ۳ افزونه Crashlytics Gradle، افزونه Crashlytics تغییرات اساسی زیر را دارد:
افزونه از بلوک
defaultConfigandroid حذف شد. در عوض، شما باید هر نوع را پیکربندی کنید.mappingFileمنسوخشدهی فیلد حذف شد. در عوض، فایل نگاشت ادغامشده اکنون بهطور خودکار ارائه میشود.فیلد منسوخ شدهی
strippedNativeLibsDirحذف شد. در عوض، شما بایدunstrippedNativeLibsDirبرای همه کتابخانههای بومی استفاده کنید.فیلد
unstrippedNativeLibsDirبه صورت تجمعی تغییر داده شد.buildTypes { release { configure<CrashlyticsExtension> { nativeSymbolUploadEnabled = true unstrippedNativeLibsDir = file("MY/NATIVE/LIBS") } } productFlavors { flavorDimensions += "feature" create("basic") { dimension = "feature" // ... } create("featureX") { dimension = "feature" configure<CrashlyticsExtension> { unstrippedNativeLibsDir = file("MY/FEATURE_X/LIBS") } } } }
وظیفه
uploadCrashlyticsSymbolFilesBasicReleaseفقط نمادهای موجود درMY/NATIVE/LIBSرا آپلود میکند، اماuploadCrashlyticsSymbolFilesFeatureXReleaseنمادها را هم درMY/NATIVE/LIBSو هم درMY/FEATURE_X/LIBSآپلود خواهد کرد.فیلد closure در
symbolGeneratorبا دو فیلد سطح بالای جدید جایگزین شد:-
symbolGeneratorType، رشتهای از نوع"breakpad"(پیشفرض) یا"csym". -
breakpadBinary، فایلی از یک فایل باینری محلیِ بازنویسیشدهیdump_syms.
-
مثالی برای نحوه ارتقاء افزونه
Kotlin
| قبل از | buildTypes { release { configure<CrashlyticsExtension> { // ... symbolGenerator( closureOf<SymbolGenerator> { symbolGeneratorType = "breakpad" breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS") } ) } } } |
| اکنون در نسخه ۳ | 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") } } } } } |
| اکنون در نسخه ۳ | buildTypes { release { firebaseCrashlytics { // ... symbolGeneratorType "breakpad" breakpadBinary file("/PATH/TO/BREAKPAD/DUMP_SYMS") } } } |