Последняя версия плагина 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-services
4.4.1+
Обновите этот плагин, указав последнюю версию в файле сборки Gradle вашего проекта, например так:
Kotlin
plugins { id("com.android.application") version "8.1.4" apply false id("com.google.gms.google-services") version "4.4.3" apply false ... }
Groovy
plugins { id 'com.android.application' version '8.1.4' apply false id 'com.google.gms.google-services' version '4.4.3' 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
.
-
Пример обновления расширения
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") } } } |