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

Level API maksimum yang didukung oleh plugin Android Gradle 8.4 adalah level API 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 ke 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 aktif menggunakan fungsi pull request GitHub di IDE, sebaiknya batalkan token GitHub yang digunakan oleh plugin. Mengingat plugin dapat menggunakan integrasi OAuth atau token akses pribadi (PAT), periksa keduanya dan batalkan 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 Token akses pribadi 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, dapat berfungsi kembali.

Kami mohon maaf atas ketidaknyamanan ini dan mendesak semua pengguna untuk segera mengupdate guna mengamankan 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 di-minify, class program yang di-shrink akan dipublikasikan untuk publikasi antar-project. Artinya, jika aplikasi bergantung pada subproject library Android yang di-shrink, APK akan menyertakan class library Android yang di-shrink. Anda mungkin perlu menyesuaikan aturan penyimpanan library jika ada class yang tidak ada di APK.

Jika Anda membuat dan memublikasikan AAR, jar lokal yang menjadi dependensi library Anda akan disertakan tanpa disingkatkan dalam AAR, yang berarti penyingkat kode tidak akan dijalankan pada jar tersebut.

Untuk kembali ke perilaku sebelumnya, tetapkan android.disableMinifyLocalDependenciesForLibraries di file gradle.properties dan laporkan bug. Versi AGP mendatang akan menghapus flag 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 menyetel versi JaCoCo di AGP 8.2.0
DynamicFeatureBuildType tidak memiliki isDebuggable
Class library yang di-minify tidak dipublikasikan dengan benar untuk penggunaan antar-project
Menyediakan API Variant#sources yang mengecualikan file yang dibuat
Model AGP tidak berisi dependensi project java-platform
ExtractAarTransform membuat classes.jar yang tidak dapat direproduksi untuk AAR yang tidak memiliki classes.jar
Izinkan konfigurasi 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 sebagai 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: Index 0 out of bounds for length 0
Masalah penanganan input inkremental MergeJavaResourcesTask
AGP 8.3.0-alpha02 bergantung pada library dengan kerentanan keamanan yang diketahui
Template aktivitas yang dipilih memerlukan project dengan dependensi androidx.*
Upgrade Assistant AGP secara keliru menghapus consumerProguardFiles dari modul
AGP Upgrade Assistant Dimuat Tanpa Batas
SourceDirectories#static tidak boleh bergantung pada tugas GenerateBuildConfig
Pratinjau Compose tidak dapat menyelesaikan class dari dependensi transitif
AGP 8.3 merusak Tugas zipApksFor
Artefak Desktop AndroidX yang dikemas dalam APK Android
Lint
GradleModelMocker framework pengujian Lint tidak mengizinkan penetapan 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 menyembunyikan peringatan tentang JDK 21 yang menghentikan dukungan untuk menargetkan java 8
Dexer (D8)
java.lang.VerifyError: Pemverifikasi menolak class
Error konversi format R8 versi baru setelah obfuscation
Build menengah 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