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