Upgrade auf das Crashlytics Gradle-Plug-in 3

Die neueste Version des Crashlytics Gradle-Plug-ins ist eine Hauptversion (v3.0.0). Das SDK wird modernisiert, da die Unterstützung für niedrigere Versionen von Gradle und des Android-Gradle-Plug-ins eingestellt wird. Außerdem werden mit den Änderungen in diesem Release Probleme mit AGP v8.1 und höher behoben und die Unterstützung für native Apps und benutzerdefinierte Builds verbessert.

Mindestanforderungen

Crashlytics Für das Gradle-Plug-in v3 gelten die folgenden Mindestanforderungen:

  • Android Gradle-Plug-in 8.1 und höher
    Aktualisieren Sie dieses Plug-in mit dem Android Gradle-Plug-in-Upgrade-Assistenten in der neuesten Version von Android Studio.

  • google-servicesGradle-Plug-in von Firebase 4.4.1 und höher
    Aktualisieren Sie dieses Plug-in, indem Sie die neueste Version in der Gradle-Builddatei Ihres Projekts angeben. Gehen Sie dazu so vor:

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

Änderungen an der Crashlytics-Erweiterung

Mit Version 3 des Crashlytics-Gradle-Plug-ins gibt es folgende Änderungen an der Crashlytics-Erweiterung:

  • Die Erweiterung wurde aus dem Android-Block defaultConfig entfernt. Stattdessen sollten Sie jede Variante konfigurieren.

  • Das nicht mehr weitergeführte Feld mappingFile wurde entfernt. Stattdessen wird die zusammengeführte Zuordnungsdatei jetzt automatisch bereitgestellt.

  • Das nicht mehr weitergeführte Feld strippedNativeLibsDir wurde entfernt. Stattdessen sollten Sie für alle nativen Bibliotheken unstrippedNativeLibsDir verwenden.

  • Das Feld unstrippedNativeLibsDir wurde in „Kumulatives“ geändert.

  • Das Schließungsfeld symbolGenerator wurde durch zwei neue Felder der obersten Ebene ersetzt:

    • symbolGeneratorType, ein String mit entweder "breakpad" (Standard) oder "csym".
    • breakpadBinary: Datei eines lokalen dump_syms-Binärüberschreibungsobjekts.

Beispiel für ein Upgrade der Erweiterung

Kotlin

Vorher
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGenerator(
                closureOf<SymbolGenerator> {
                  symbolGeneratorType = "breakpad"
                  breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              )
            }
          }
        }
      
Jetzt in Version 3
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGeneratorType = "breakpad"
              breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }
      

Groovy

Vorher
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGenerator {
                breakpad {
                  binary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              }
            }
          }
        }
      
Jetzt in Version 3
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGeneratorType "breakpad"
              breakpadBinary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }