Mengupgrade ke plugin Crashlytics Gradle v3

Rilis terbaru plugin Gradle Crashlytics adalah versi utama (v3.0.0) dan memodernisasi SDK dengan menghentikan dukungan untuk versi Gradle yang lebih rendah dan plugin Android Gradle. Selain itu, perubahan dalam rilis ini menyelesaikan masalah dengan AGP v8.1+ dan meningkatkan dukungan untuk aplikasi native dan build yang disesuaikan.

Persyaratan minimum

Plugin Crashlytics Gradle v3 memiliki persyaratan minimum berikut:

  • Plugin Android Gradle 8.1+
    Upgrade plugin ini menggunakan Asisten Upgrade plugin Android Gradle di Android Studio versi terbaru.

  • google-services Plugin Gradle 4.4.1+
    Firebase Upgrade plugin ini dengan menentukan versi terbaru di file build Gradle project Anda, seperti:

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
  ...
}

Perubahan pada ekstensi Crashlytics

Dengan plugin Crashlytics Gradle v3, ekstensi Crashlytics memiliki perubahan yang dapat menyebabkan gangguan berikut:

  • Menghapus ekstensi dari blok Android defaultConfig. Sebagai gantinya, Anda harus mengonfigurasi setiap varian.

  • Menghapus kolom mappingFile yang tidak digunakan lagi. Sebagai gantinya, file pemetaan gabungan kini disediakan secara otomatis.

  • Menghapus kolom strippedNativeLibsDir yang tidak digunakan lagi. Sebagai gantinya, Anda harus menggunakan unstrippedNativeLibsDir untuk semua library native.

  • Mengubah kolom unstrippedNativeLibsDir menjadi kumulatif.

  • Mengganti kolom penutupan symbolGenerator dengan dua kolom tingkat atas baru:

    • symbolGeneratorType, String "breakpad" (default) atau "csym".
    • breakpadBinary, File penggantian program biner dump_syms lokal.

Contoh cara mengupgrade ekstensi

Kotlin

Sebelum
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGenerator(
                closureOf<SymbolGenerator> {
                  symbolGeneratorType = "breakpad"
                  breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              )
            }
          }
        }
      
Kini di v3
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGeneratorType = "breakpad"
              breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }
      

Groovy

Sebelum
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGenerator {
                breakpad {
                  binary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              }
            }
          }
        }
      
Kini di v3
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGeneratorType "breakpad"
              breakpadBinary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }