Passer au plug-in Crashlytics Gradle v3

La dernière version du plug-in Gradle Crashlytics est une version majeure (v3.0.0) et modernise le SDK en abandonnant la prise en charge des versions antérieures de Gradle et du plug-in Android Gradle. En outre, les modifications apportées à cette version résolvent les problèmes liés à la version 8.1 d'AGP et améliorent la compatibilité avec les applications natives et les builds personnalisés.

Conditions minimales requises

Le plug-in Gradle v3 Crashlytics présente les exigences minimales suivantes:

  • Plug-in Android Gradle 8.1 ou version ultérieure
    Mettez à niveau ce plug-in à l'aide de l'assistant de mise à niveau du plug-in Android Gradle dans la dernière version d'Android Studio.

  • Plug-in Gradle google-services de Firebase 4.4.1 ou version ultérieure
    Mettez à niveau ce plug-in en spécifiant la dernière version dans le fichier de compilation Gradle de votre projet, comme suit:

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

Modifications apportées à l'extension Crashlytics

Avec la version 3 du plug-in Gradle Crashlytics, l'extension Crashlytics présente les modifications importantes suivantes:

  • Suppression de l'extension du bloc Android defaultConfig. Vous devez plutôt configurer chaque variante.

  • Suppression du champ obsolète mappingFile. À la place, le fichier de mappage fusionné est désormais fourni automatiquement.

  • Suppression du champ obsolète strippedNativeLibsDir. À la place, vous devez utiliser unstrippedNativeLibsDir pour toutes les bibliothèques natives.

  • Le champ unstrippedNativeLibsDir est désormais cumulatif.

  • Remplacement du champ de fermeture symbolGenerator par deux nouveaux champs de niveau supérieur:

    • symbolGeneratorType, une chaîne de "breakpad" (par défaut) ou "csym".
    • breakpadBinary, fichier d'un forçage binaire dump_syms local.

Exemple de mise à niveau de l'extension

Kotlin

Avant
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGenerator(
                closureOf<SymbolGenerator> {
                  symbolGeneratorType = "breakpad"
                  breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              )
            }
          }
        }
      
Disponible dans la version 3
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGeneratorType = "breakpad"
              breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }
      

Groovy

Avant
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGenerator {
                breakpad {
                  binary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              }
            }
          }
        }
      
Disponible dans la version 3
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGeneratorType "breakpad"
              breakpadBinary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }