Najnowsza wersja wtyczki Crashlytics Gradle to wersja główna (3.0.0), która modernizuje pakiet SDK przez wycofanie obsługi starszych wersji Gradle i wtyczki Androida do obsługi Gradle. Ponadto zmiany w tej wersji rozwiązują problemy z wersją AGP 8.1 i nowszymi oraz poprawiają obsługę aplikacji natywnych i niestandardowych kompilacji.
Wymagania minimalne
CrashlyticsPrzy wtyczce Gradle w wersji 3 obowiązują te minimalne wymagania:
Wtyczka Androida do obsługi Gradle w wersji 8.1 lub nowszej
Zaktualizuj tę wtyczkę za pomocą Asystenta uaktualniania wtyczki Androida do obsługi Gradle w najnowszej wersji Android Studio.Wtyczka
google-services
Gradle Firebase w wersji 4.4.1 lub nowszej
Aby uaktualnić tę wtyczkę, w pliku build Gradle projektu podaj jej najnowszą wersję, na przykład:
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 ... }
Zmiany w rozszerzeniu Crashlytics
W wersji 3 wtyczki Gradle Crashlytics rozszerzenie Crashlytics zawiera te zmiany powodujące niezgodność:
Rozszerzenie zostało usunięte z blokady
defaultConfig
na Androidzie. Zamiast tego skonfiguruj każdą odmianę.Usunięto wycofane pole
mappingFile
. Zamiast tego scalony plik mapowania jest teraz dostarczany automatycznie.Usunięto wycofane pole
strippedNativeLibsDir
. Zamiast tego należy używać znakuunstrippedNativeLibsDir
w przypadku wszystkich bibliotek natywnych.Zmieniliśmy pole
unstrippedNativeLibsDir
na kumulacyjne.Przykład z wieloma katalogami
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 ") } } } }Zadanie
uploadCrashlyticsSymbolFilesBasicRelease
prześle tylko symbole z plikuMY/NATIVE/LIBS
, ale zadanieuploadCrashlyticsSymbolFilesFeatureXRelease
prześle symbole z obu plików:MY/NATIVE/LIBS
iMY/FEATURE_X/LIBS
.Pole zamknięcia
symbolGenerator
zostało zastąpione przez 2 nowe pola najwyższego poziomu:symbolGeneratorType
: ciąg znaków o wartości"breakpad"
(domyślnie) lub"csym"
.breakpadBinary
, plik z lokalnym binarnym plikiem zastępczymdump_syms
.
Przykład uaktualniania rozszerzenia
Przed |
buildTypes { release { configure<CrashlyticsExtension> { // ... symbolGenerator( closureOf<SymbolGenerator> { symbolGeneratorType = "breakpad" breakpadBinary = file(" |
Wersja 3 |
buildTypes { release { configure<CrashlyticsExtension> { // ... symbolGeneratorType = "breakpad" breakpadBinary = file(" |
Przed |
buildTypes { release { firebaseCrashlytics { // ... symbolGenerator { breakpad { binary file(" |
Wersja 3 |
buildTypes { release { firebaseCrashlytics { // ... symbolGeneratorType "breakpad" breakpadBinary file(" |