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 pengujian dan cakupan 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 yang 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 mempertahankan anotasi runtime yang tidak terlihat

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

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

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

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

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

Untuk mempertahankan 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 dirujuk 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 sehingga paling-paling 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 menggunakan withHostTestBuilder
[fused lib - public] OkHttp mencakup sumber
Tidak dapat menjalankan androidDeviceTest dengan placeholder manifes di library (AGP 9.0.0 dengan plugin com.android.kotlin.multiplatform.library)
AGP akan menampilkan peringatan jika pengguna memiliki src/androidDeviceTest/java dengan java dinonaktifkan
Lint
Kesalahan ketik lint dalam pesan