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 (3.0.0 sürümü). 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 v3 için aşağıdaki minimum gereksinimler geçerlidir:

  • 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 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ğerini içeren bir dize.
    • breakpadBinary, yerel bir dump_syms ikili geçersiz kılma dosyasıdır.

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")
                }
              }
            }
          }
        }
      
Şu anda v3'te
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGeneratorType "breakpad"
              breakpadBinary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }