Plugin Android Gradle 8.4.0 (Apr 2024)

Plugin Android Gradle 8.4.0 merupakan rilis utama yang menyertakan berbagai peningkatan dan fitur baru.

Kompatibilitas

API level maksimum yang didukung plugin Android Gradle 8.4 adalah API level 34. Berikut info kompatibilitas lainnya:

Versi minimum Versi default Catatan
Gradle 8,6 8,6 Untuk mempelajari lebih lanjut, lihat mengupdate Gradle.
SDK Build Tools 34.0.0 34.0.0 Instal atau konfigurasi SDK Build Tools.
NDK T/A 26.1.10909125 Instal atau konfigurasi versi lain dari NDK.
JDK 17 17 Untuk mempelajari lebih lanjut, lihat menyetel versi JDK.

Berikut adalah fitur baru di plugin Android Gradle 8.4.

Rilis patch

Berikut adalah daftar rilis patch di Android Studio Jellyfish dan plugin Android Gradle 8.4.

Android Studio Jellyfish | 2023.3.1 Patch 2 dan AGP 8.4.2 (Juni 2024)

Update keamanan penting: Kerentanan keamanan di plugin GitHub yang tersedia di Android Studio Iguana | 2023.2.1 dan yang lebih baru dapat mengekspos token akses kepada pihak yang tidak berwenang.

Perbaikan: Jetbrains telah menyelesaikan masalah di produk platform IntelliJ, dan perbaikan kini tersedia di Android Studio Jellyfish | 2023.3.1 Patch 2 (2023.3.1.20).

Jika sudah memiliki build Android Studio di saluran stabil, Anda dapat mendapatkan update dengan mengklik Help > Check for Updates (atau Android Studio > Check for Updates di macOS). Jika tidak, download build stabil terbaru.

Selain itu, jika Anda telah secara aktif menggunakan fungsi permintaan pull GitHub di IDE, sebaiknya cabut token GitHub apa pun yang digunakan oleh plugin. Mengingat plugin dapat menggunakan integrasi OAuth atau token akses pribadi (PAT), harap periksa keduanya dan cabut jika perlu:

  • Untuk mencabut akses integrasi OAuth, buka Aplikasi > Aplikasi OAuth yang Diizinkan dan cabut akses untuk token Integrasi IDE JetBrains.
  • Untuk mencabut akses PAT, buka Personal access tokens dan hapus token yang dikeluarkan untuk plugin GitHub. Nama token default adalah plugin integrasi GitHub IntelliJ IDEA, tetapi Anda mungkin menggunakan nama kustom.

Setelah mencabut akses untuk token, Anda perlu menyiapkan plugin lagi agar semua fitur plugin, termasuk operasi Git, berfungsi kembali.

Kami mohon maaf atas ketidaknyamanan yang ditimbulkan dan mengimbau semua pengguna untuk segera mengupdate guna melindungi kode dan data mereka.

Update minor ini juga mencakup perbaikan bug ini.

Android Studio Jellyfish | 2023.3.1 Patch 1 dan AGP 8.4.1 (Mei 2024)

Update minor ini mencakup perbaikan bug ini.

Class library diciutkan

Mulai Plugin Android Gradle 8.4, jika project library Android diminifikasi, class program yang diciutkan akan dipublikasikan untuk publikasi antar-project. Artinya, jika aplikasi bergantung pada subproject library Android versi yang diciutkan, APK akan menyertakan class library Android yang diciutkan. Anda mungkin perlu menyesuaikan aturan penyimpanan library jika ada class yang hilang di APK.

Jika Anda mem-build dan memublikasikan AAR, JAR lokal yang menjadi dependensi library Anda akan disertakan tanpa dikompresi dalam AAR, yang berarti penyingkat kode tidak akan berjalan di dalamnya.

Untuk kembali ke perilaku sebelumnya, tetapkan android.disableMinifyLocalDependenciesForLibraries dalam file gradle.properties dan laporkan bug. Versi AGP mendatang akan menghapus tanda ini.

Perbaikan masalah

Plugin Android Gradle 8.4.0

Perbaikan Masalah
Plugin Android Gradle
Memperbaiki pesan error tentang alasan opsi `--release` tidak dapat digunakan untuk JavaCompile
Nonaktifkan penyimpanan MergeSourceSetFolders ke cache menggunakan @DoNotCacheByDefault
Tidak dapat menetapkan versi JaCoCo di AGP 8.2.0
DynamicFeatureBuildType tidak memiliki isDebuggable
Class library yang diminifikasi tidak dipublikasikan dengan benar untuk konsumsi antar-project
Menyediakan Variant#sources API yang mengecualikan file yang dihasilkan
Model AGP tidak berisi dependensi project platform java
ExtractAarTransform membuat class.jar yang tidak dapat direproduksi untuk aars yang tidak memiliki class.jar
Mengizinkan untuk mengonfigurasi sourceInformation dari ComposeOptions
Tidak dapat menemukan kolom: sdk_runtime dalam pesan android.bundle.DeviceSpec
Dukungan untuk compileOnlyApi
R8 gagal pada modul library saat pemrosesan resource dinonaktifkan
Menambahkan kemampuan untuk mengubah nama artefak selama transformasi
Menambahkan output tugas ke srcDir dari sourceSets.androidMain.resources tidak membuat dependensi tugas
AndroidPluginVersion.toString() tidak memiliki angka 0 di awal
Artifacts.add(FileSystemLocation) harus lebih ketat.
AGP 8.3.0-alpha11 menghasilkan APK rilis yang error saat startup dengan android.content.res.Resources$NotFoundException
Tugas penginstalan Plugin Android Gradle 8.2.0 gagal dalam project yang menggunakan fitur dinamis
Kompilasi AIDL gagal dengan IndexOutOfBoundsException: Indeks 0 melebihi batas untuk panjang 0
Masalah penanganan input inkremental MergeJavaResourcesTask
AGP 8.3.0-alpha02 bergantung pada library dengan kerentanan keamanan umum
Template aktivitas yang dipilih memerlukan project dengan dependensi androidx.*
AGP Upgrade Assistant secara keliru menghapus consumerProguardFiles dari modul
AGP Upgrade Assistant Dimuat Tanpa Batas
SourceDirectories#static tidak boleh bergantung pada tugas GenerateBuildConfig
Pratinjau Compose tidak dapat me-resolve class dari dependensi transitif
AGP 8.3 merusak Tugas zipApksFor
Artefak AndroidX Desktop yang dikemas dalam APK Android
Lint
GradleModelMocker framework pengujian Lint tidak mengizinkan setelan versi library
Lint K2 UAST: UCallableReferenceExpression melaporkan qualifierType yang salah
Positif palsu lint dengan useK2Uast=true dengan fungsi yang kelebihan beban
[BuildTool/Lint] Properti konstruktor ChecksSdkIntAtLeast
Integrasi Lint
Lint tidak dapat membedakan dependensi KMP

Plugin Android Gradle 8.4.1

Perbaikan Masalah
Plugin Android Gradle
Mengizinkan penyembunyian peringatan tentang JDK 21 yang tidak lagi mendukung penargetan java 8
Dexer (D8)
java.lang.VerifyError: Pemverifikasi menolak class
Error konversi format R8 versi baru setelah obfuscation
Build perantara mungkin tidak memiliki konten sintetis global yang lengkap untuk stub

Plugin Android Gradle 8.4.2

Perbaikan Masalah
Plugin Android Gradle
AGP 8.4 tampaknya merusak download GMD di CI