Crashlytics Gradle プラグイン v3 にアップグレードする

Crashlytics Gradle プラグインの最新リリースは、メジャー バージョン(v3.0.0)で、Gradle と Android Gradle プラグインの下位バージョンのサポートを終了することで SDK をモダナイズしています。また、このリリースでの変更により、AGP v8.1 以降に関する問題が解決され、ネイティブ アプリとカスタマイズしたビルドのサポートが改善されています。

最小要件

Crashlytics Gradle プラグイン v3 の最小要件は次のとおりです。

  • Android Gradle プラグイン 8.1 以降
    最新バージョンの Android Studio で Android Gradle プラグイン Upgrade Assistant を使用してこのプラグインをアップグレードします。

  • Firebase の google-services Gradle プラグイン 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 拡張機能の変更

Crashlytics Gradle プラグインの v3 では、Crashlytics 拡張機能に次の互換性に対応しない変更が加えられています。

  • defaultConfig Android ブロックから拡張機能を削除しました。代わりに、各バリアントを構成する必要があります。

  • 非推奨のフィールド mappingFile を削除しました。代わりに、マージされたマッピング ファイルが 自動的に提供されます。

  • 非推奨のフィールド strippedNativeLibsDir を削除しました。代わりに、すべてのネイティブ ライブラリで unstrippedNativeLibsDir を使う必要があります。

  • フィールド unstrippedNativeLibsDir を累積型に変更しました。

  • クロージャ フィールド symbolGenerator を次の 2 つの新しいトップレベル フィールドに置き換えました。

    • 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")
            }
          }
        }