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 |
|
||
Plugin Android Gradle 9.2.0-alpha03
| Perbaikan Masalah | |||
|---|---|---|---|
| Plugin Android Gradle |
|
||
| Lint |
|
||
| Integrasi Lint |
|
||
Plugin Android Gradle 9.2.0-alpha02
| Perbaikan Masalah | ||||
|---|---|---|---|---|
| Plugin Android Gradle |
|
|||
| Integrasi Lint |
|
|||
Plugin Android Gradle 9.2.0-alpha01
| Perbaikan Masalah | |||||
|---|---|---|---|---|---|
| Plugin Android Gradle |
|
||||
| Lint |
|
||||