הגרסה האחרונה של הפלאגין Crashlytics ל-Gradle היא גרסה ראשית (v3.0.0), והיא מעדכנת את ה-SDK על ידי ביטול התמיכה בגרסאות ישנות יותר של Gradle ושל הפלאגין של Android Gradle. בנוסף, השינויים בגרסה הזו פותרים בעיות ב-AGP מגרסה 8.1 ואילך ומשפרים את התמיכה באפליקציות מקוריות וב-builds מותאמים אישית.
דרישות מינימליות
Crashlytics כדי להשתמש ב-Gradle plugin v3, צריך לעמוד בדרישות המינימליות הבאות:
פלאגין של Android Gradle מגרסה 8.1 ואילך
כדי לשדרג את הפלאגין, משתמשים בכלי לשדרוג הפלאגין של Android Gradle בגרסה האחרונה של Android Studio.google-services
הפלאגין של Gradle ב-Firebase מגרסה 4.4.1 ואילך
כדי לשדרג את הפלאגין, מציינים את הגרסה האחרונה בקובץ ה-build של Gradle בפרויקט, באופן הבא:
plugins { id("com.android.application") version "8.1.4" apply false id("com.google.gms.google-services") version "4.4.2" apply false ... }
plugins { id 'com.android.application' version '8.1.4' apply false id 'com.google.gms.google-services' version '4.4.2' apply false ... }
שינויים בתוסף Crashlytics
בגרסה 3 של פלאגין Crashlytics ל-Gradle, התוסף Crashlytics כולל את השינויים הבאים שעלולים לגרום לכשל:
הוסר התוסף מהבלוק
defaultConfig
android. במקום זאת, צריך להגדיר כל וריאנט בנפרד.השדה
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
.החלפת שדה הסגירה
symbolGenerator
בשני שדות חדשים ברמה העליונה:symbolGeneratorType
, מחרוזת של"breakpad"
(ברירת המחדל) או"csym"
.breakpadBinary
, קובץ של שינוי בינארי מקומי שלdump_syms
.
דוגמה לשדרוג התוסף
לפני |
buildTypes { release { configure<CrashlyticsExtension> { // ... symbolGenerator( closureOf<SymbolGenerator> { symbolGeneratorType = "breakpad" breakpadBinary = file(" |
עכשיו בגרסה 3 |
buildTypes { release { configure<CrashlyticsExtension> { // ... symbolGeneratorType = "breakpad" breakpadBinary = file(" |
לפני |
buildTypes { release { firebaseCrashlytics { // ... symbolGenerator { breakpad { binary file(" |
עכשיו בגרסה 3 |
buildTypes { release { firebaseCrashlytics { // ... symbolGeneratorType "breakpad" breakpadBinary file(" |