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

Последняя версия плагина 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 на накопительное.

  • Заменено поле закрытия 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")
            }
          }
        }