Uaktualnij do wtyczki Crashlytics do obsługi Gradle w wersji 3

Najnowsza wersja wtyczki Crashlytics Gradle jest wersją główną (3.0.0) i unowocześnia pakiet SDK, wycofując obsługę starszych wersji Gradle i wtyczki Androida do obsługi Gradle. Zmiany wprowadzone w tej wersji rozwiązują też problemy z AGP w wersji 8.1 lub nowszej oraz zwiększają obsługę aplikacji natywnych i dostosowanych kompilacji.

Wymagania minimalne

Wtyczka Crashlytics do Gradle w wersji 3 musi spełniać te minimalne wymagania:

  • Wtyczka Androida do obsługi Gradle w wersji 8.1 lub nowszej
    Uaktualnij tę wtyczkę, korzystając z Asystenta aktualizacji wtyczki Android Gradle w najnowszej wersji Android Studio.

  • Wtyczka Firebase do obsługi Gradle (google-services) w wersji 4.4.1 lub nowszej
    Uaktualnij tę wtyczkę, określając jej najnowszą wersję w pliku kompilacji Gradle w projekcie. Na przykład:

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

Zmiany w rozszerzeniu Crashlytics

Od wersji 3 wtyczki Crashlytics Gradle rozszerzenie Crashlytics wprowadza te zmiany powodujące niezgodność:

  • Usunięto rozszerzenie z bloku Androida defaultConfig. Zamiast tego musisz skonfigurować każdy wariant.

  • Usunięto wycofane pole mappingFile. Zamiast tego scalony plik mapowania jest teraz udostępniany automatycznie.

  • Usunięto wycofane pole strippedNativeLibsDir. Zamiast nich należy używać unstrippedNativeLibsDir dla wszystkich bibliotek natywnych.

  • Zmieniono pole unstrippedNativeLibsDir na skumulowane.

  • Pole zamknięcia symbolGenerator zastąpiono dwoma nowymi polami najwyższego poziomu:

    • symbolGeneratorType, ciąg tekstowy "breakpad" (domyślna) lub "csym".
    • breakpadBinary, plik lokalnego zastąpienia pliku binarnego dump_syms.

Przykład uaktualniania rozszerzenia

Kotlin

Przed
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGenerator(
                closureOf<SymbolGenerator> {
                  symbolGeneratorType = "breakpad"
                  breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              )
            }
          }
        }
      
Teraz w wersji 3
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGeneratorType = "breakpad"
              breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }
      

Groovy

Przed
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGenerator {
                breakpad {
                  binary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              }
            }
          }
        }
      
Teraz w wersji 3
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGeneratorType "breakpad"
              breakpadBinary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }