הגרסה האחרונה של הפלאגין 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 של פלאגין Gradle Crashlytics, התוסף 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(" |