Trình bổ trợ Android cho Gradle 8.2.0 (tháng 11 năm 2023)
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Trình bổ trợ Android cho Gradle 8.2.0 là một bản phát hành chính bao gồm nhiều tính năng và điểm cải thiện mới.
Khả năng tương thích
Cấp độ API tối đa mà trình bổ trợ Android cho Gradle 8.2 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:
Macro mới để chỉ định đường dẫn JDK
#GRADLE_LOCAL_JAVA_HOME
là một macro mới mà bạn có thể dùng để chỉ định đường dẫn JDK. Nhờ đó, bạn có thể chỉ định đường dẫn gốc Java dùng để thực thi trình nền Gradle (tiến trình nền) cho dự án của mình một cách an toàn và dễ dàng hơn. Lựa chọn đường dẫn được lưu trữ trong trường java.home
của tệp .gradle/config.properties
. Đặt trường này thông qua chế độ cài đặt JDK của Gradle trong Android Studio: File (Tệp) (hoặc Android Studio trên macOS) > Settings > Build, Execution, Deployment > Build Tools > Gradle (Cài đặt > Xây dựng, Thực thi, Triển khai > Công cụ xây dựng > Gradle).
Các dự án mới sẽ sử dụng #GRADLE_LOCAL_JAVA_HOME
theo mặc định. Các dự án hiện có sẽ tự động được chuyển sang macro mới sau khi quá trình đồng bộ hoá thành công, trừ phi bạn đã sử dụng một macro như #JAVA_HOME
.
Sau đây là các lợi ích chính của macro mới:
- Bạn có thể sửa đổi đường dẫn JDK theo cách thủ công để kích hoạt quá trình đồng bộ hoá mà không cần mở trước dự án.
- Có ít lỗi hơn liên quan đến các phiên bản JDK của dự án và Gradle không tương thích, vì chỉ có một nguồn đáng tin cậy duy nhất để lựa chọn JDK cho Gradle.
Vấn đề đã khắc phục
Trình bổ trợ Android cho Gradle 8.2.0
Vấn đề đã khắc phục |
Trình bổ trợ Android cho Gradle |
Các loại nguồn tuỳ chỉnh phải tạo ra các tập hợp nguồn có nhiều phiên bản
|
Tính năng kiểm tra phiên bản SDK không xử lý người dùng tiện ích SDK
|
DependenciesInfoBuilder cần có tài liệu + bản cập nhật API
|
Mục tiêu DexingNoClasspathTransform (minSdk >= 24) với Java 11 không thành công do thiếu các phần tử lồng nhau
|
DslExtension.Builder.extendProjectWith() không hoạt động theo mô tả trong Groovy
|
Thêm VariantSelector.withFlavor API không dùng kotlin.Pair
|
AndroidLintAnalysisTask ( :lintAnalyzeExternalRelease) thiếu bộ nhớ đệm do `proguard.txt` thay đổi
|
Tệp kê khai sáp nhập của ứng dụng chứa các thuộc tính extractNativeLibs và useEmbeddedDex từ các phần phụ thuộc
|
AIDL không hoạt động với build-tools 33.0.0
|
AGP: Hiển thị đường dẫn đến công cụ AIDL và tệp AIDL khung ở dạng API công khai
|
Yêu cầu: cho phép IDE khắc phục lỗi "PermittedSubclasses requires ASM9"
|
Dùng mã byte mục tiêu 17 khi biên dịch AGP
|
Xoá VariantManager.getModifiedName
|
AndroidTest.packaging.jniLibs.keepDebugSymbols không ảnh hưởng đến gói androidTest
|
Tác vụ kiểm thử đo lường của GMD bị treo và không thành công kể cả khi bắt đầu lại
|
generateLocaleConfig trong agp 8.1.0 sử dụng thứ tự không xác định, phá vỡ các bản dựng có thể tái tạo
|
ProcessApplicationManifest.navigationJsons có các tệp chứa đường dẫn tuyệt đối
|
Bạn không được phép truy cập vào GradleBuildProject.Builder thông qua AnalyticsConfiguratorService sau khi tạo AnalyticsService
|
AndroidTest.packaging.jniLibs.keepDebugSymbols không ảnh hưởng đến gói androidTest
|
Các giá trị màu không hợp lệ vẫn được biên dịch
|
"replaceWith" cho VariantBuilder không chính xác
|
Gradle 8.1 phá vỡ cấu hình lưu vào bộ nhớ đệm do tệp .gradle/.android/analytics.settings
|
Thông báo về việc không dùng nữa không kèm theo `ReplaceWith`
|
Hướng dẫn cách tải phiên bản NDK mặc định
|
Trình bổ trợ Android cho Gradle yêu cầu cần phải có Java 17 thì mới chạy được.
|
ASM Transform và không tương thích với ToAppend()
|
Khắc phục LintErrors khi chạy lint với K2 UAST qua Gradle trên một dự án KMP
|
Hỗ trợ cho cấp Biến thể missingDimensionStrategy và có thể hỗ trợ cho loại bản dựng/phiên bản phù hợp với matchingFallback
|
`android.injected.studio.version` đã bị xoá trong Android Studio Giraffe
|
Thêm tính năng tắt AndroidXDependencyCheck
|
generateLocaleConfig trong agp 8.1.0 sử dụng thứ tự không xác định, phá vỡ các bản dựng có thể tái tạo
|
Thông báo rõ yêu cầu về phiên bản R8 / D8 trong siêu dữ liệu AAR (ví dụ: cho CoreLibraryDesugaring và API mới ngoài luồng)
|
Cảnh báo về đồng bộ hoá: "GradleBuildProject.Builder should not be accessed through AnalyticsConfiguratorService after AnalyticsService is created" (Không nên truy cập GradleBuildProject.Builder thông qua AnalyticsConfiguratorService sau khi tạo AnalyticsService)
|
Cập nhật lên Gradle 8.2 milestone hoặc RC
|
Không thể truy cập 'java.lang.Comparable'
|
androidResources không có trong mô-đun thư viện Android
|
Không thực hiện được tác vụ ':app:mergeReleaseClasses' sau khi Cập nhật AGP từ 8.0.2 lên 8.1.0
|
Gradle 8.1 phá vỡ cấu hình lưu vào bộ nhớ đệm do tệp .gradle/.android/analytics.settings
|
[AGP 8.1.0] Kiểm thử ./gradlew không thành công và hiện thông báo lỗi "Unable to find manifest output" (Không tìm thấy đầu ra tệp kê khai) nếu cả splits.abi.isEnable và testOptions.unitTests.isIncludeAndroidResources đều mang giá trị true
|
Android Studio Giraffe không tuân thủ versionCodeOverride bằng AGP 8.1
|
AGP 8.1.0 gỡ cài đặt ứng dụng sau khi chạy các hoạt động kiểm thử được đo lường – 7.4.2 thì không
|
Việc chuyển đổi một APK dẫn đến lỗi có ListingFileRedirectTask
|
PHÉP HỒI QUY HEDGEHOG: Nút Chạy bị trì hoãn vài giây (Đang tạo thông số kỹ thuật)
|
|
Dexer (D8) |
Bật bản ghi gốc và các lớp kín khi tạo tệp dex cho min-api 34 trở lên
|
|
Tìm lỗi mã nguồn |
Tính năng kiểm tra tìm lỗi mã nguồn Instantiated không xử lý tốt AppComponentFactory
|
Lint 8.2.0 alpha vẫn không hỗ trợ tính năng nhập hàm cấp cao nhất trong kotlin
|
Thêm lựa chọn để không thêm số dòng và cột trong đường cơ sở tìm lỗi mã nguồn
|
Thêm lựa chọn để không thêm số dòng và cột trong đường cơ sở tìm lỗi mã nguồn
|
Quy trình kiểm thử tìm lỗi mã nguồn không hỗ trợ các tính năng có trong ngôn ngữ Java 17
|
Bumblebee 2021.1.1 Patch 1 thông báo rằng phiên bản cũ hơn (20030203.000550) của commons-io là mới hơn bản 2.11.0.
|
Lint 8.2.0 alpha vẫn không hỗ trợ tính năng nhập hàm cấp cao nhất trong kotlin
|
Bumblebee 2021.1.1 Patch 1 thông báo rằng phiên bản cũ hơn (20030203.000550) của commons-io là mới hơn bản 2.11.0.
|
Android Studio đánh dấu không chính xác phiên bản được chỉ định là hết hạn.
|
Tìm lỗi mã nguồn bỏ qua vấn đề UseValueOf khi sử dụng K2 UAST
|
Sự cố không mong muốn trong một dự án khác bị Android Lint gắn cờ
|
Công cụ tìm lỗi mã nguồn của Android không hoạt động được ở thư viện KMP có `thuộc tính 'variantInputs.name' không có giá trị được định cấu hình.`
|
|
Tích hợp công cụ tìm lỗi mã nguồn |
Sự cố về việc tìm lỗi mã nguồn DuplicatePlatformClasses trong phần phụ thuộc testImplementation
|
|
Trình rút gọn (R8) |
java.lang.VerifyError: Lớp bị từ chối của trình xác minh
|
Bản dựng bị lỗi trên :minifyReleaseWithR8 khi dùng thư viện Apache POI
|
Kotlin 1.9 khiến R8 huỷ bỏ hàm lambda Kotlin nếu các giá trị nullchecks bị xoá
|
|
Trình bổ trợ Android cho Gradle 8.2.1
Vấn đề đã khắc phục |
Trình bổ trợ Android cho Gradle |
Không chạy tác vụ tạo tệp dex trên các lớp của dự án phụ khi các lớp đó đã được tạo tệp dex thông qua việc biến đổi cấu phần phần mềm
|
Trình bổ trợ Android cho Gradle gặp lỗi với JavaVersion.VERSION_11 và OpenJDK 21 ea
|
|
Dexer (D8) |
Bản ghi đơn giản hoá dành cho Android U
|
|
Trình rút gọn (R8) |
R8 tạo tệp dex bị hỏng, dẫn đến truyền ngoại lệ vào lớp trong thời gian chạy
|
R8 khiến giao diện thay đổi thành giao diện không truy cập được
|
Sự cố R8 Flurry SDK với AGP 8.2.0
|
Android – R8 khiến lớp con của LinearLayoutManager gặp sự cố
|
ClassCastException trong R8 khi tính năng đóng gói lại và rút gọn được bật, còn tính năng làm rối mã nguồn và tối ưu hoá bị tắt
|
R8 gặp sự cố trong BridgeAnalyzer.analyzeMethod
|
R8 phiên bản 8.2.33, sự cố thời gian chạy "java.lang.VerifyError: Loại không hợp lệ trên ngăn xếp toán hạng" sau khi nâng cấp
|
|
Trình bổ trợ Android cho Gradle 8.2.2
Vấn đề đã khắc phục |
Trình bổ trợ Android cho Gradle |
Không thiết lập được phiên bản JaCoCo trong AGP 8.2.0
|
|
Dexer (D8) |
[thư viện đã đơn giản hoá] Thư viện đã đơn giản hoá phiên bản 2.1 không tương thích với các phiên bản trước của R8
|
Tính năng tối ưu hoá có chạy ngay cả chỉ với D8 không?
|
|
Trình rút gọn (R8) |
[R8 8.3.21] R8 8.3.21 lớn hơn R8 8.1.56 1,57 MB
|
class.getInterfaces() trả về giá trị trống
|
|
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-02-28 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-02-28 UTC."],[],[]]