Обновление до плагина Crashlytics Gradle v3

Последняя версия плагина 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.1" apply false
  ...
}

Groovy

plugins {
  id 'com.android.application' version '8.1.4' apply false
  id 'com.google.gms.google-services' version '4.4.1' apply false
  ...
}

Изменения в расширении Crashlytics

В версии 3 плагина Crashlytics Gradle расширение Crashlytics имеет следующие критические изменения:

  • Удалено расширение из блока Android defaultConfig . Вместо этого вам следует настроить каждый вариант.

  • Удалено устаревшее поле mappingFile . Вместо этого объединенный файл сопоставления теперь предоставляется автоматически.

  • Удалено устаревшее поле strippedNativeLibsDir . Вместо этого вам следует использовать unstrippedNativeLibsDir для всех собственных библиотек.

  • Поле unstrippedNativeLibsDir изменено на накопительное.

  • Замыкающее поле 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")
            }
          }
        }