Ghi chú phát hành của trình bổ trợ Android cho Gradle 8.7

Kho lưu trữ JCenter chuyển sang chế độ chỉ đọc từ ngày 31 tháng 3 năm 2021. Để biết thêm thông tin, hãy xem nội dung Cập nhật dịch vụ JCenter.

Android Studio là một hệ thống xây dựng dựa trên Gradle còn trình bổ trợ Android cho Gradle bổ sung một số tính năng dành riêng cho việc xây dựng ứng dụng Android. Mặc dù trình bổ trợ Android cho Gradle (AGP) thường được cập nhật ở dạng khoá trong Android Studio, nhưng trình bổ trợ này (và phần còn lại của hệ thống Gradle) có thể hoạt động độc lập với Android Studio và được cập nhật riêng.

Trang này giải thích cách cập nhật các công cụ Gradle cũng như nội dung các bản cập nhật gần đây. Để nắm được ghi chú phát hành cho các phiên bản trình bổ trợ Android cho Gradle trước đây, hãy xem ghi chú phát hành trước đây.

Để biết những vấn đề đã được khắc phục trong phiên bản trình bổ trợ Android cho Gradle này, hãy xem các vấn đề đã xử lý.

Để đọc toàn bộ tóm tắt tổng quan về những thay đổi có thể gây lỗi sắp tới trong trình bổ trợ Android cho Gradle, vui lòng xem lộ trình phát triển trình bổ trợ Android cho Gradle.

Để biết thông tin chi tiết về cách định cấu hình bản dựng Android bằng Gradle, hãy xem các trang sau đây:

Để biết thêm thông tin về hệ thống xây dựng Gradle, hãy xem Hướng dẫn sử dụng Gradle.

Cập nhật trình bổ trợ Android cho Gradle

Khi cập nhật Android Studio, bạn có thể nhận được lời nhắc tự động cập nhật trình bổ trợ Android cho Gradle lên phiên bản mới nhất. Bạn có thể chọn chấp nhận bản cập nhật hoặc chỉ định một phiên bản theo cách thủ công dựa trên yêu cầu bản dựng của dự án.

Bạn có thể chỉ định phiên bản trình bổ trợ trong trình đơn File (Tệp) >Project Structure (Cấu trúc dự án) >Project (Dự án) trong Android Studio hoặc tệp build.gradle.kts cấp cao nhất. Phiên bản trình bổ trợ này áp dụng cho mọi mô-đun được tạo trong dự án Android Studio đó. Ví dụ sau đây sẽ thiết lập trình bổ trợ thành phiên bản 8.7.0 qua tệp build.gradle.kts:

Kotlin

plugins {
    id("com.android.application") version "8.7.0" apply false
    id("com.android.library") version "8.7.0" apply false
    id("org.jetbrains.kotlin.android") version "2.0.20" apply false
}

Groovy

plugins {
    id 'com.android.application' version '8.7.0' apply false
    id 'com.android.library' version '8.7.0' apply false
    id 'org.jetbrains.kotlin.android' version '2.0.20' apply false
}

Thận trọng: Bạn không nên sử dụng các phần phụ thuộc động trong số phiên bản, chẳng hạn như 'com.android.tools.build:gradle:8.7.+'. Việc sử dụng tính năng này có thể dẫn đến tình trạng cập nhật phiên bản không mong muốn và khó giải quyết sự khác biệt giữa các phiên bản.

Nếu phiên bản trình bổ trợ đã chỉ định chưa được tải xuống, Gradle sẽ tải phiên bản này xuống vào lần tiếp theo bạn tạo dự án hoặc nhấp vào File (Tệp) >Sync Project with Gradle Files (Đồng bộ hoá dự án với tệp Gradle) qua thanh trình đơn trong Android Studio.

Cập nhật Gradle

Khi cập nhật Android Studio, bạn có thể nhận được lời nhắc cập nhật Gradle lên phiên bản mới nhất. Bạn có thể chọn chấp nhận bản cập nhật hoặc chỉ định một phiên bản theo cách thủ công dựa trên yêu cầu bản dựng của dự án.

Bảng sau đây liệt kê phiên bản Gradle cần thiết cho mỗi phiên bản của trình bổ trợ Android cho Gradle. Để đạt hiệu quả tối đa, bạn nên sử dụng phiên bản mới nhất có thể của cả Gradle và trình bổ trợ.

Phiên bản trình bổ trợPhiên bản Gradle tối thiểu cần có
8,78.9
8.68,7
8,58,7
8.48.6
8.38.4
8.28.2
8.18.0
8.08.0
7.47.5

Các phiên bản cũ hơn

Phiên bản trình bổ trợPhiên bản Gradle bắt buộc
7.37.4
7.27.3.3
7.17.2
7.07.0
4.2.0 trở lên6.7.1
4.1.0 trở lên6.5 trở lên
4.0.0 trở lên6.1.1 trở lên
3.6.0 – 3.6.45.6.4 trở lên
3.5.0 – 3.5.45.4.1 trở lên
3.4.0 – 3.4.35.1.1 trở lên
3.3.0 – 3.3.34.10.1 trở lên
3.2.0 – 3.2.14.6 trở lên
3.1.0 trở lên4.4 trở lên
3.0.0 trở lên4.1 trở lên
2.3.0 trở lên3.3 trở lên
2.1.3 – 2.2.32.14.1 – 3.5
2.0.0 – 2.1.22.10 – 2.13
1.5.02.2.1 – 2.13
1.2.0 – 1.3.12.2.1 – 2.9
1.0.0 – 1.1.32.2.1 – 2.3

Bạn có thể chỉ định phiên bản Gradle trên trình đơn File (Tệp) > Project Structure (Cấu trúc dự án) > Project (Dự án) trong Android Studio hoặc bằng cách cập nhật phiên bản Gradle qua dòng lệnh. Bạn nên sử dụng công cụ dòng lệnh Trình bao bọc Gradle để cập nhật tập lệnh gradlew. Ví dụ sau đây sẽ thiết lập phiên bản Gradle thành 8.7 bằng Trình bao bọc Gradle. Lưu ý: Bạn cần chạy lệnh này 2 lần để nâng cấp cả Gradle và chính Trình bao bọc Gradle (để biết thêm thông tin, hãy xem phần Nâng cấp Trình bao bọc Gradle).

gradle wrapper --gradle-version 8.7

Tuy nhiên, có thể không thực hiện được việc này trong một số trường hợp, chẳng hạn như khi bạn vừa cập nhật AGP và AGP đó không còn tuân thủ phiên bản Gradle hiện tại nữa. Trong trường hợp này, bạn cần chỉnh sửa thông tin tham chiếu phân phối Gradle trong tệp gradle/wrapper/gradle-wrapper.properties. Ví dụ sau đây sẽ thiết lập phiên bản Gradle thành 8.7 trong tệp gradle-wrapper.properties.

...
distributionUrl = https\://services.gradle.org/distributions/gradle-8.7-bin.zip
...

Trình bổ trợ Android cho Gradle và khả năng tương thích với Android Studio

Android Studio là một hệ thống xây dựng dựa trên Gradle, còn trình bổ trợ Android cho Gradle (AGP) bổ sung một số tính năng dành riêng cho việc xây dựng ứng dụng Android. Bảng sau đây liệt kê yêu cầu về phiên bản AGP cho từng phiên bản Android Studio.

Phiên bản Android Studio Phiên bản AGP bắt buộc
Ladybug | 2024.2.1 3.2-8.7
Bản cập nhật tính năng Koala | 2024.1.2 3.2-8.6
Koala | 2024.1.1 3.2-8.5
Jellyfish | 2023.3.1 3.2-8.4
Iguana | 2023.2.1 3.2-8.3
Hedgehog | 2023.1.1 3.2-8.2
Giraffe | 2022.3.1 3.2-8.1
Flamingo | 2022.2.1 3.2-8.0

Các phiên bản cũ hơn

Phiên bản Android Studio Phiên bản AGP bắt buộc
Electric Eel | 2022.1.1 3.2-7.4
Dolphin | 2021.3.1 3.2-7.3
Chipmunk | 2021.2.1 3.2-7.2
Bumblebee | 2021.1.1 3.2-7.1
Arctic Fox | 2020.3.1 3.1-7.0

Để biết thông tin về các tính năng mới trong trình bổ trợ Android cho Gradle, hãy xem ghi chú phát hành của trình bổ trợ Android cho Gradle.

Phiên bản tối thiểu của các công cụ dành cho cấp độ API trên Android

Có các phiên bản Android Studio và AGP tối thiểu hỗ trợ một cấp độ API cụ thể. Việc sử dụng các phiên bản Android Studio hoặc AGP thấp hơn so với yêu cầu của targetSdk hoặc compileSdk của dự án có thể dẫn đến các sự cố không mong muốn. Bạn nên sử dụng phiên bản xem trước mới nhất của Android Studio và AGP để thao tác trong các dự án nhắm đến phiên bản xem trước của hệ điều hành Android. Bạn có thể cài đặt các phiên bản xem trước của Android Studio cùng với một phiên bản ổn định.

Sau đây là các phiên bản Android Studio và AGP tối thiểu:

Cấp độ API Phiên bản Android Studio tối thiểu Phiên bản AGP tối thiểu
35 Bản cập nhật tính năng Koala | 2024.2.1 8.6.0
34 Hedgehog | 2023.1.1 8.1.1
33 Flamingo | 2022.2.1 7.2

Thay đổi về phiên bản (tháng 11 năm 2020)

Chúng tôi đang cập nhật cách đánh số phiên bản cho trình bổ trợ Android cho Gradle (AGP) để phù hợp hơn với công cụ bản dựng Gradle cơ bản.

Sau đây là những thay đổi đáng chú ý:

  • AGP sẽ sử dụng phiên bản ngữ nghĩa và các thay đổi có thể gây lỗi sẽ dành cho các bản phát hành chính.

  • Sẽ có một phiên bản lớn của AGP được phát hành mỗi năm, phù hợp với bản phát hành chính của Gradle.

  • Bản phát hành sau AGP 4.2 sẽ là phiên bản 7.0 và yêu cầu phải nâng cấp lên Gradle phiên bản 7.x. Mọi bản phát hành chính của AGP sẽ yêu cầu nâng cấp phiên bản lớn trong công cụ Gradle cơ bản.

  • Các API không được sử dụng nữa trước khoảng một năm, đồng thời chức năng thay thế sẽ được ra mắt. API không dùng nữa sẽ bị xoá sau khoảng một năm trong lần cập nhật chính tiếp theo.

Khả năng tương thích

Cấp độ API tối đa mà trình bổ trợ Android cho Gradle 8.6 hỗ trợ là API cấp 34. Sau đây là một số thông tin khác về khả năng tương thích:

Phiên bản tối thiểu Phiên bản mặc định Ghi chú
"Gradle" 8.9 8.9 "Để tìm hiểu thêm, hãy xem phần cập nhật Gradle."
Công cụ tạo SDK 34.0.0 34.0.0 Cài đặt hoặc định cấu hình Công cụ tạo SDK.
NDK Không áp dụng 27.0.12077973 "Cài đặt hoặc định cấu hình phiên bản khác của NDK".
JDK 17 17 "Để tìm hiểu thêm, hãy xem phần cài đặt phiên bản JDK."

Thay đổi về hành vi của công cụ tìm lỗi mã nguồn

Kể từ Trình bổ trợ Android cho Gradle 8.7.0-alpha08, nếu có LintError khi chạy công cụ tìm lỗi mã nguồn bằng Gradle, thì tác vụ phân tích tìm lỗi mã nguồn sẽ gửi một ngoại lệ. Thay đổi này giúp ngăn các lỗi hiếm gặp được lưu vào bộ nhớ đệm bản dựng.

Rất tiếc, thay đổi này sẽ làm hỏng các bản dựng cho các dự án có thực thể LintError chính xác trong tệp cơ sở của công cụ tìm lỗi mã nguồn. Thông báo lỗi chứa thông tin về việc kiểm tra tìm lỗi mã nguồn nào đang gây ra sự cố. Trong một số trường hợp, việc cập nhật phần phụ thuộc thư viện tương ứng có thể giải quyết vấn đề. Nếu không, bạn có thể tắt tính năng kiểm tra tìm lỗi mã nguồn có vấn đề cho đến khi tác giả thư viện khắc phục vấn đề.

Vấn đề đã khắc phục

Trình bổ trợ Android cho Gradle 8.7.0

Vấn đề đã khắc phục
Trình bổ trợ Android cho Gradle
AGP phải tuyên bố rằng nó hỗ trợ API 35 sắp ra mắt
AGP 8.5: Chạy nhiều tác vụ "mergeDebugResources" hơn, làm chậm bản dựng
Đặt ndk 27 làm NDK mặc định trong AGP.
AGP phải tuyên bố rằng nó hỗ trợ API 35 sắp ra mắt
AGP phải tuyên bố rằng nó hỗ trợ API 35 sắp ra mắt
Không chạy được công cụ tìm lỗi mã nguồn Android với NoSuchFileException
BuildType#initWith sao chép khối xử lý hậu kỳ nhưng không áp dụng cấu hình proguard
Không thể hợp nhất cho các thẻ foregroundServiceType
Không chạy được công cụ tìm lỗi mã nguồn Android với NoSuchFileException
Tìm lỗi mã nguồn
Công cụ tìm lỗi mã nguồn sẽ kiểm tra các đối tượng không hợp lệ được dùng làm ViewGroups
"Thiếu android:host" đối với các uri có máy chủ lưu trữ rỗng
KtAnalysisSessionProvider không tương thích với các quy trình kiểm tra tìm lỗi mã nguồn được giới thiệu trong phiên bản 8.7.0-alpha04
"Dương tính giả" WrongConstant khi sử dụng PackageManager.ResolveInfoFlags.of với Kotlin

Trình bổ trợ Android cho Gradle 8.7.1

Vấn đề đã khắc phục
Trình bổ trợ Android cho Gradle
tài liệu agp có nhiều TBD
Tìm lỗi mã nguồn
AGP 8.6.1: Hồi quy – Lỗi tìm lỗi mã nguồn WrongConstant khi sử dụng [Int].toLong() bên trong @LongDef trong Kotlin
Lỗi tìm lỗi mã nguồn "Phải chỉ định ít nhất một máy chủ lưu trữ" khi đặt giao thức bộ lọc ý định http hoặc https

Trình bổ trợ Android cho Gradle 8.7.2

Vấn đề đã khắc phục
Tìm lỗi mã nguồn
AGP 8.7.0 – Tìm lỗi mã nguồn dương tính giả RestrictedApi trên NavOptionsBuilder.popUpTo
Trình rút gọn (R8)
[R8 8.6.27] Thay thế hoạt động triển khai phương thức bằng "throw null"
Các tệp proguard android mặc định sẽ đưa ra cảnh báo khi được sử dụng với Phiên bản R8 hiện tại
MissingStartupProfileItemsDiagnostic sẽ làm hỏng ứng dụng khách Gradle bằng lỗi hết bộ nhớ nếu thông báo quá lớn