Последняя версия плагина Crashlytics Gradle — это мажорная версия (v3.0.0), которая модернизирует SDK, прекращая поддержку более ранних версий Gradle и плагина Android Gradle. Кроме того, изменения в этой версии устраняют проблемы с AGP v8.1+ и улучшают поддержку нативных приложений и кастомных сборок.
Минимальные требования
Плагин Crashlytics Gradle v3 имеет следующие минимальные требования:
Плагин Android Gradle 8.1+
Обновите этот плагин с помощью плагина Android Gradle Upgrade Assistant в последней версии Android Studio.Плагин Gradle для Firebase
google-services4.4.1+
Обновите этот плагин, указав последнюю версию в файле сборки Gradle вашего проекта, например так:
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
В версии 3 плагина 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.Заменено поле закрытия
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") } } } |