Di chuyển cho SDK người dùng Android phiên bản 2.0.0

Nội dung cập nhật của Gradle và trình bổ trợ Android cho Gradle

Nâng cấp phiên bản Gradle và Trình bổ trợ Android cho Gradle

Trước tiên, hãy nâng cấp phiên bản Gradle và Trình bổ trợ Android cho Gradle. Bản nâng cấp này có khả năng tương thích tốt hơn với một số phần phụ thuộc SDK nhất định (bao gồm cả Kotlin 1.9), cũng như một số bản sửa lỗi quan trọng.

Bản phát hành chính SDK này yêu cầu các phần phụ thuộc phiên bản sau đây cho dự án ứng dụng Android:

  • phiên bản Gradle tối thiểu là v7.5.0 nhưng không cao hơn v7.6.0.
  • phiên bản Trình bổ trợ Android cho Gradle (AGP) trong phạm vi v7.4.x.

Bạn có thể nhắm đến phiên bản trình bổ trợ cao hơn; tuy nhiên, bạn có thể gặp cảnh báo về việc ngừng sử dụng hoặc một số tính năng mới có thể không hoạt động.

Để sửa đổi phiên bản Gradle, hãy sửa đổi dòng trong tệp /gradle/wrapper/gradle-wrapper.properties của dự án

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

Để sửa đổi phiên bản Trình bổ trợ Android cho Gradle, hãy sửa đổi tệp build.gradle chứa khối buildscript. Ví dụ:

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

Di chuyển tính năng hỗ trợ thư viện từ Java 7 sang Java 8

Bước 1 – Bật tính năng hỗ trợ thư viện Java 8

Nguồn

Vì cấp độ API tối thiểu của SDK là 23 và phiên bản AGP bắt buộc là 7.4 trở lên, nên cấu hình sẽ hơi khác so với tài liệu nguồn được đề cập.

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

Bước 2 – Di chuyển từ Proguard hoặc Dexguard sang R8

R8, nguồn

AGP phiên bản 7.4 trở lên sử dụng R8 làm công cụ rút gọn, làm rối mã nguồn và tối ưu hoá mặc định cho tệp nhị phân, vì vậy, bạn không cần làm gì đặc biệt tại thời điểm này.

Nếu dự án được di chuyển từ AGP 4.0 trở lên, AGP có thể đưa ra các cảnh báo sau về việc xoá tệp:

  • Cách sử dụng useProguard true trong tệp build.gradle
  • Cách sử dụng android.enableR8=false trong tệp gradle.properties

Việc xoá các dòng này thường giúp giải quyết những vấn đề đó.

Di chuyển từ Kotlin 1.6 sang 1.9

Bước 1 – Di chuyển sang Trình bổ trợ Kotlin cho Gradle 1.9.0

Nguồn

Cập nhật phiên bản Trình bổ trợ Kotlin cho Gradle trong tệp build.gradle của mô-đun cấp cao nhất của ứng dụng. Hãy nhớ thêm org.jetbrains.kotlin:kotlin-gradle-plugin vào phần phụ thuộc của khối buildscript trong trường hợp thiếu phần phụ thuộc này.

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

Bạn phải di chuyển ứng dụng của mình từ Kotlin-synthetics trong trường hợp bạn đang sử dụng Trình bổ trợ Kotlin cho Gradle 1.6.X hoặc 1.7.X. Hãy tham khảo hướng dẫn di chuyển chính thức để biết thêm thông tin.

Bước 2 – Nâng cấp kotlin-stdlib lên 1.9.0

Nguồn

Nâng cấp kotlin-stblib lên 1.9.0 trong tệp build.gradle của ứng dụng.

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

Hãy nhớ xoá mọi nội dung tham chiếu đến kotlin-stdlib-jdk7 hoặc kotlin-stdlib-jdk8. Cả hai phần phụ thuộc này đều được hợp nhất vào kotlin-stdlib kể từ Kotlin 1.8.0.