Plugin Android Gradle 9.2.0 (April 2026)

Plugin Android Gradle 9.2 adalah rilis minor yang menyertakan berbagai peningkatan dan fitur baru.

Kompatibilitas

Level API maksimum yang didukung plugin Android Gradle 9.2 adalah level API 36.1. Berikut info kompatibilitas lainnya:

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

Laporan cakupan dan pengujian terpadu

AGP 9.2.0-alpha07 memperkenalkan tugas untuk membuat dasbor HTML yang menggabungkan hasil pengujian dan cakupan dari berbagai jenis pengujian (unit dan instrumentasi), modul, dan varian build, sehingga memberikan ringkasan komprehensif dalam satu dasbor. Untuk mengetahui informasi selengkapnya, lihat Membuat laporan cakupan kode terpadu dan Melihat laporan pengujian terpadu.

Perubahan R8

Perubahan R8 berikut disertakan dalam AGP 9.2.0.

Semantik -keepattributes yang lebih ketat untuk menyimpan anotasi runtime yang tidak terlihat

Anotasi runtime yang tidak terlihat tidak dapat dibaca saat runtime. Oleh karena itu, D8 akan menghapus anotasi runtime yang tidak terlihat tanpa syarat, tanpa opsi untuk mengubahnya.

Untuk kompatibilitas dengan ProGuard, R8 mendukung output anotasi runtime yang tidak terlihat. Namun, saat mengompilasi ke DEX, anotasi runtime yang tidak terlihat umumnya tidak boleh dipertahankan. Namun, praktik umum untuk menyertakan aturan praktis -keepattributes *Annotation* (baik secara langsung maupun tidak langsung dari aturan penyimpanan konsumen) agar R8 menyimpan anotasi runtime yang terlihat. Sayangnya, hal ini juga akan menyimpan anotasi runtime yang tidak terlihat.

Untuk mengurangi masalah ini dan lebih cocok dengan perilaku D8, pola -keepattributes dengan karakter pengganti tidak lagi cocok dengan RuntimeInvisibleAnnotations, RuntimeInvisibleParameterAnnotations, dan RuntimeInvisibleTypeAnnotations. Akibatnya, anotasi runtime yang tidak terlihat hanya akan disimpan jika nama atribut disebutkan secara eksplisit tanpa karakter pengganti.

Tidak ada aturan berikut yang akan menyimpan anotasi runtime yang tidak terlihat:

-keepattributes *
-keepattributes *Annotation*
-keepattributes *Invisible*

Untuk menyimpan anotasi runtime yang tidak terlihat, gunakan aturan berikut:

-keepattributes RuntimeInvisibleAnnotations,
                RuntimeInvisibleParameterAnnotations,
                RuntimeInvisibleTypeAnnotations

Dukungan untuk nama yang dinegasikan dalam aturan anggota

Bahasa konfigurasi telah diperluas sehingga Anda kini dapat mencocokkan pola nama anggota yang dinegasikan.

Misalnya, untuk mencocokkan semua metode yang tidak diakhiri dengan "ForTesting", gunakan aturan berikut:

-keepclassmembers class com.example.MyClass {
  *** !*ForTesting(...);
}

Pola nama anggota juga dapat dinegasikan dalam prasyarat aturan -if. Jika pola nama anggota yang dinegasikan berisi karakter pengganti, karakter pengganti tersebut tidak dapat direferensikan kembali dalam aturan konsekuen -if.

Perbaikan masalah

Plugin Android Gradle 9.2.0-alpha04

Perbaikan Masalah
Plugin Android Gradle
Mengganti nama APK menggunakan DSL AGP baru
Error saat mengakses (tetapi tidak mengevaluasi) bootClasspath IllegalStateException: targetCompatibility is not yet finalized

Plugin Android Gradle 9.2.0-alpha03

Perbaikan Masalah
Plugin Android Gradle
Kegagalan JdkImageTransform dengan JDK 26
Mengenkode minAgpVersion secara otomatis dalam metadata AAR di AGP 10.0
Lint
Jendela konteks yang terpotong dalam laporan SARIF Lint karena pointer offset yang macet di `SarifReporter.kt`
Klien Gradle Lint tidak memiliki fitur penting yang membuatnya tidak dapat diandalkan
Integrasi Lint
Tugas Gradle Lint mengabaikan tanda --quiet

Plugin Android Gradle 9.2.0-alpha02

Perbaikan Masalah
Plugin Android Gradle
AGP 9.0 Tidak ada androidComponents.onVariant yang setara untuk applicationVariants.all.mergeAssetsProvider
File `*.xml.flat` berisi jalur file absolut
R8D8ThreadPoolBuildService tidak terdaftar
Integrasi Lint
Android Lint gagal dengan pemeriksaan lint kustom yang dikompilasi ke bytecode Java 21

Plugin Android Gradle 9.2.0-alpha01

Perbaikan Masalah
Plugin Android Gradle
Memperingatkan pengguna jika mereka memiliki commonTest tetapi lupa dengan withHostTestBuilder
[fused lib - public] OkHttp menyertakan sumber
Tidak dapat menjalankan androidDeviceTest dengan placeholder manifes di library (AGP 9.0.0 dengan plugin com.android.kotlin.multiplatform.library)
AGP harus memperingatkan jika pengguna memiliki src/androidDeviceTest/java dengan java dinonaktifkan
Lint
Kesalahan ketik Lint dalam pesan