Последняя версия плагина 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.2" apply false ... }
Groovy
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
.
-
Пример того, как обновить расширение
Kotlin
До | buildTypes { release { configure<CrashlyticsExtension> { // ... symbolGenerator( closureOf<SymbolGenerator> { symbolGeneratorType = "breakpad" breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS") } ) } } } |
Теперь в v3 | 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") } } } } } |
Теперь в v3 | buildTypes { release { firebaseCrashlytics { // ... symbolGeneratorType "breakpad" breakpadBinary file("/PATH/TO/BREAKPAD/DUMP_SYMS") } } } |