Actualiza a la versión 3 del complemento de Gradle de Crashlytics

La versión más reciente del complemento de Gradle para Crashlytics es una versión principal (v3.0.0) y moderniza el SDK, ya que deja de ser compatibles con versiones anteriores. de Gradle y el complemento de Android para Gradle. Además, los cambios en esta versión resuelven problemas con AGP v8.1 y mejoran la compatibilidad para apps nativas y compilaciones personalizadas.

Requisitos mínimos

La versión 3 del complemento de Crashlytics para Gradle tiene los siguientes requisitos mínimos:

  • Complemento de Android para Gradle 8.1 y versiones posteriores
    Actualiza este complemento con el Asistente de actualización del complemento de Android para Gradle en la versión más reciente de Android Studio.

  • Complemento de Gradle google-services de Firebase 4.4.1 y versiones posteriores
    Para actualizar este complemento, especifica la versión más reciente en el archivo de compilación de Gradle de tu proyecto de la siguiente manera:

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

Cambios en la extensión de Crashlytics

Con la versión 3 del complemento de Gradle de Crashlytics, la extensión de Crashlytics tiene los siguientes cambios rotundos:

  • Se quitó la extensión del bloque defaultConfig de Android. En cambio, deberás configurar cada variante.

  • Se quitó el campo obsoleto mappingFile. En cambio, el archivo de asignación combinado ahora se proporciona automáticamente.

  • Se quitó el campo obsoleto strippedNativeLibsDir. En cambio, deberás usar unstrippedNativeLibsDir para todas las bibliotecas nativas.

  • Se cambió el campo unstrippedNativeLibsDir para que sea acumulativo.

  • Se reemplazó el campo de cierre symbolGenerator por dos campos de nivel superior nuevos:

    • symbolGeneratorType, una cadena de "breakpad" (predeterminado) o "csym".
    • breakpadBinary, un archivo de una anulación binaria local dump_syms.

Ejemplo de cómo actualizar la extensión

Kotlin

Antes
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGenerator(
                closureOf<SymbolGenerator> {
                  symbolGeneratorType = "breakpad"
                  breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              )
            }
          }
        }
      
Ahora en la versión 3
        buildTypes {
          release {
            configure<CrashlyticsExtension> {
              // ...
              symbolGeneratorType = "breakpad"
              breakpadBinary = file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }
      

Groovy

Antes
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGenerator {
                breakpad {
                  binary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
                }
              }
            }
          }
        }
      
Ahora en la versión 3
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGeneratorType "breakpad"
              breakpadBinary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }