Các điểm 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 (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 này của SDK yêu cầu các phần phụ thuộc phiên bản sau đây cho dự án ứng dụng Android của bạn:
- Gradle phiên bản ít nhất là v7.5.0 nhưng không cao hơn v7.6.0.
- một 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 cao hơn của trình bổ trợ; tuy nhiên, bạn có thể gặp phải cảnh báo không dùng nữa 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ừ thư viện Java 7 sang Java 8
Bước 1 – Bật tính năng hỗ trợ thư viện Java 8
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 này hơi khác so với tài liệu nguồn đã đề 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
AGP phiên bản 7.4 trở lên sử dụng R8 làm công cụ mặc định để giảm kích thước, làm rối mã nguồn và tối ưu hoá cho tệp nhị phân, nên bạn không cần làm gì đặc biệt vào 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:
- Mức sử dụng
useProguard true
trong tệpbuild.gradle
- Mức sử dụng
android.enableR8=false
trong tệpgradle.properties
Việc xoá các dòng này thường sẽ giải quyết được 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
Cập nhật phiên bản Trình bổ trợ Kotlin Gradle trong tệp build.gradle mô-đun cấp cao nhất của ứng dụng. Đảm bảo bạn thêm org.jetbrains.kotlin:kotlin-gradle-plugin
vào các phần phụ thuộc trong khối buildscript trong trường hợp phần phụ thuộc này bị thiếu.
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 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
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 đã được hợp nhất thành kotlin-stdlib
bắt đầu từ Kotlin 1.8.0.