Crashlytics Gradle eklentisi v3 sürümüne yükseltin

Crashlytics Gradle eklentisinin en son sürümü, Gradle ve Android Gradle eklentisinin eski sürümlerine yönelik desteği kaldırarak SDK'yı modernize eden önemli bir sürümdür (v3.0.0). Ayrıca bu sürümdeki değişiklikler, AGP 8.1 ve sonraki sürümlerle ilgili sorunları çözer ve yerel uygulamalar ile özelleştirilmiş derlemeler için desteği iyileştirir.

Minimum koşullar

Crashlytics Gradle eklentisi 3. sürümünün minimum gereksinimleri şunlardır:

  • Android Gradle eklentisi 8.1 ve sonraki sürümler
    Android Studio'nun en son sürümündeki Android Gradle eklentisi Yükseltme Asistanı'nı kullanarak bu eklentiyi yükseltin.

  • Firebase'ın google-servicesGradle eklentisi 4.4.1 ve sonraki sürümleri
    Projenizin Gradle derleme dosyasında en son sürümü belirterek bu eklentiyi yükseltin. Örneğin:

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

Crashlytics uzantısında yapılan değişiklikler

Crashlytics Gradle eklentisinin 3. sürümünde Crashlytics uzantısında aşağıdaki önemli değişiklikler yapıldı:

  • Uzatma, defaultConfig android bloğundan kaldırıldı. Bunun yerine her bir varyantı yapılandırmanız gerekir.

  • Desteği sonlandırılan mappingFile alanı kaldırıldı. Bunun yerine, birleştirilmiş eşleme dosyası artık otomatik olarak sağlanıyor.

  • Desteği sonlandırılan strippedNativeLibsDir alanı kaldırıldı. Bunun yerine, tüm yerel kitaplıklar için unstrippedNativeLibsDir kullanmalısınız.

  • unstrippedNativeLibsDir alanı kümülatif olacak şekilde değiştirildi.

  • Kapanış alanı symbolGenerator, iki yeni üst düzey alanla değiştirildi:

    • symbolGeneratorType, "breakpad" (varsayılan) veya "csym" değerlerinden oluşan bir dizedir.
    • breakpadBinary, yerel dump_syms ikili program geçersiz kılma dosyası.

Uzantı yükseltme örneği

Kotlin

Önce
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGenerator(
                closureOf<SymbolGenerator> {
                  symbolGeneratorType = "breakpad"
                  breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              )
            }
          }
        }
      
Şu anda v3'te
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGeneratorType = "breakpad"
              breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }
      

Groovy

Önce
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGenerator {
                breakpad {
                  binary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              }
            }
          }
        }
      
Şimdi v3'te
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGeneratorType "breakpad"
              breakpadBinary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }