Crashlytics Gradle 플러그인 v3로 업그레이드

Crashlytics Gradle 플러그인의 최신 버전은 주 버전(v3.0.0)이며, 더 낮은 버전의 Gradle 및 Android Gradle 플러그인에 대한 지원을 중단하여 SDK를 현대화합니다. 또한 이 출시 버전의 변경사항은 AGP v8.1 이상의 문제를 해결하고 네이티브 앱 및 커스텀 빌드의 지원을 개선합니다.

최소 요구사항

Crashlytics Gradle 플러그인 v3의 최소 요구사항은 다음과 같습니다.

  • Android Gradle 플러그인 8.1 이상
    Android 스튜디오의 최신 버전에서 Android Gradle 플러그인 업그레이드 어시스턴트를 사용하여 이 플러그인을 업그레이드하세요.

  • Firebase의 google-servicesGradle 플러그인 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 플러그인 v3를 사용하면 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")
                }
              )
            }
          }
        }
      
v3
        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")
                }
              }
            }
          }
        }
      
v3
        buildTypes {
          release {
            firebaseCrashlytics {
              // ...
              symbolGeneratorType "breakpad"
              breakpadBinary file("/PATH/TO/BREAKPAD/DUMP_SYMS")
            }
          }
        }