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 |
|
||
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 |
|
||||