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-services
Gradle-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:
plugins { id("com.android.application") version "8.1.4" apply false id("com.google.gms.google-services") version "4.4.2" apply false ... }
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 BibliothekenunstrippedNativeLibsDir
verwenden.Das Feld
unstrippedNativeLibsDir
wurde in ein kumulatives Feld geändert.Beispiel mit mehreren Verzeichnissen ansehen
buildTypes { release { configure<CrashlyticsExtension> { nativeSymbolUploadEnabled = true unstrippedNativeLibsDir = file("
MY/NATIVE/LIBS ") } } productFlavors { flavorDimensions += "feature" create("basic") { dimension = "feature" // ... } create("featureX") { dimension = "feature" configure<CrashlyticsExtension> { unstrippedNativeLibsDir = file("MY/FEATURE_X/LIBS ") } } } }Mit der Aufgabe
uploadCrashlyticsSymbolFilesBasicRelease
werden nur die Symbole inMY/NATIVE/LIBS
hochgeladen. MituploadCrashlyticsSymbolFilesFeatureXRelease
werden dagegen Symbole sowohl inMY/NATIVE/LIBS
als auch inMY/FEATURE_X/LIBS
hochgeladen.Das Schließungsfeld
symbolGenerator
wurde durch zwei neue Felder der obersten Ebene ersetzt:symbolGeneratorType
, ein String mit entweder"breakpad"
(Standard) oder"csym"
.breakpadBinary
: Datei mit einem lokalendump_syms
-Binärüberschreibung
Beispiel für ein Upgrade der Erweiterung
Vorher |
buildTypes { release { configure<CrashlyticsExtension> { // ... symbolGenerator( closureOf<SymbolGenerator> { symbolGeneratorType = "breakpad" breakpadBinary = file(" |
Jetzt in Version 3 |
buildTypes { release { configure<CrashlyticsExtension> { // ... symbolGeneratorType = "breakpad" breakpadBinary = file(" |
Vorher |
buildTypes { release { firebaseCrashlytics { // ... symbolGenerator { breakpad { binary file(" |
Jetzt in Version 3 |
buildTypes { release { firebaseCrashlytics { // ... symbolGeneratorType "breakpad" breakpadBinary file(" |