Migration for Android Consumer SDK v2.0.0

Gradle 및 Android Gradle 플러그인 업데이트

Gradle 및 Android Gradle 플러그인 버전 업그레이드

먼저 Gradle 및 Android Gradle 플러그인 버전을 업그레이드합니다. 이 업그레이드에는 특정 SDK 종속 항목(Kotlin 1.9 포함)과의 호환성이 향상되었으며 일부 중요한 버그가 수정되었습니다.

이 SDK 주 출시에는 Android 애플리케이션 프로젝트에 대한 다음 버전 종속 항목이 필요합니다.

  • Gradle 버전 v7.5.0 이상, v7.6.0 이하
  • v7.4.x 범위의 Android Gradle 플러그인 (AGP) 버전

더 높은 버전의 플러그인을 타겟팅할 수 있습니다. 하지만 지원 중단 경고가 발생하거나 일부 새로운 기능이 작동하지 않을 수 있습니다.

Gradle 버전을 수정하려면 프로젝트의 /gradle/wrapper/gradle-wrapper.properties 파일에서 줄을 수정합니다.

distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip

Android Gradle 플러그인 버전을 수정하려면 buildscript 블록이 포함된 build.gradle 파일을 수정합니다. 예를 들면 다음과 같습니다.

buildscript {
    repositories {
        google()
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.1'
    }
}

자바 7에서 자바 8로 마이그레이션 지원

1단계 - 자바 8 라이브러리 지원 사용 설정

소스

SDK 최소 API 수준은 23이고 필요한 AGP 버전이 7.4 이상이므로 구성은 언급된 소스 문서와 약간 다릅니다.

buildscript {

    repositories {
        google()
        mavenCentral()
        jcenter()
        maven {
            url = uri("https://storage.googleapis.com/r8-releases/raw")
        }
    }
    dependencies {
        classpath 'com.android.tools:r8:8.0.46'
        classpath 'com.android.tools.build:gradle:7.4.1'
    }
}

android {
    compileOptions {
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled true
        // Sets Java compatibility to Java 8
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.3'
}

2단계 - Proguard 또는 Dexguard에서 R8로 이전

R8, 소스

AGP v7.4+는 R8을 바이너리의 기본 축소, 난독화, 최적화 도구로 사용하므로 이 시점에는 특별한 조치가 필요하지 않습니다.

프로젝트가 AGP 4.0 이상에서 이전된 경우 AGP에서 파일 삭제에 관해 다음과 같은 경고를 표시할 수 있습니다.

  • build.gradle 파일에서 useProguard true 사용
  • gradle.properties 파일에서 android.enableR8=false 사용

이러한 줄을 삭제하면 일반적으로 문제가 해결됩니다.

Kotlin 1.6에서 1.9로 이전

1단계 - Kotlin Gradle 플러그인 1.9.0으로 이전

소스

애플리케이션 최상위 모듈 build.gradle 파일에서 Kotlin Gradle 플러그인 버전을 업데이트합니다. 누락된 경우 buildscript 블록의 종속 항목에 org.jetbrains.kotlin:kotlin-gradle-plugin를 추가해야 합니다.

buildscript {
  dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"
  }
}

Kotlin Gradle 플러그인 1.6.X 또는 1.7.X에서 애플리케이션을 사용한다면 Kotlin 합성에서 애플리케이션을 이전해야 합니다. 자세한 내용은 공식 이전 가이드를 참고하세요.

2단계 - kotlin-stdlib를 1.9.0으로 업그레이드

소스

애플리케이션 build.gradle 파일에서 kotlin-stblib을 1.9.0으로 업그레이드합니다.

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.0"
}

kotlin-stdlib-jdk7 또는 kotlin-stdlib-jdk8에 대한 참조를 모두 삭제해야 합니다. Kotlin 1.8.0부터 두 종속 항목이 kotlin-stdlib로 통합되었습니다.