升級至 Crashlytics Gradle 外掛程式 v3

最新版 Crashlytics Gradle 外掛程式是主要版本 (3.0.0 版),並捨棄對較低版本的 Gradle 和 Android Gradle 外掛程式的支援,從而翻新 SDK。此外,這個版本中的變更解決了 AGP 8.1 以上版本的問題,並改善對原生應用程式和自訂版本的支援。

基本規定

Crashlytics Gradle 外掛程式 v3 的最低需求如下:

  • Android Gradle 外掛程式 8.1 以上版本
    在最新版本的 Android Studio 上使用 Android Gradle 外掛程式升級工具升級這個外掛程式。

  • Firebase 的 google-services Gradle 外掛程式 4.4.1 以上版本
    只要在專案的 Gradle 建構檔案中指定最新版本,即可升級這個外掛程式,如下所示:

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 擴充功能異動事項

使用 Crashlytics Gradle 外掛程式第 3 版時,Crashlytics 擴充功能有以下破壞性變更:

  • 已從 defaultConfig Android 區塊中移除擴充功能。相反地,您應該設定每個變化版本。

  • 移除已淘汰的欄位 mappingFile。而是會自動提供合併的對應檔案。

  • 移除已淘汰的欄位 strippedNativeLibsDir。而是應針對所有原生程式庫使用 unstrippedNativeLibsDir

  • 已將 unstrippedNativeLibsDir 欄位變更為累計值。

  • 已將關閉欄位 symbolGenerator 換成兩個新的頂層欄位:

    • symbolGeneratorType"breakpad" (預設) 或 "csym" 的字串。
    • breakpadBinary,本機 dump_syms 二進位檔覆寫檔案。

升級擴充功能的範例

Kotlin

之前
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGenerator(
                closureOf<SymbolGenerator> {
                  symbolGeneratorType = "breakpad"
                  breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              )
            }
          }
        }
      
隆重推出第 3 版
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGeneratorType = "breakpad"
              breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }
      

Groovy

之前
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGenerator {
                breakpad {
                  binary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              }
            }
          }
        }
      
隆重推出第 3 版
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGeneratorType "breakpad"
              breakpadBinary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }