Plugin Android untuk Gradle, revisi 1.5.0 (November 2015)
- Dependensi:
- Catatan Umum:
-
- Mengintegrasikan plugin Data Binding ke dalam plugin Android untuk Gradle. Untuk mengaktifkannya, tambahkan kode berikut ke setiap file
build.gradle
per project yang menggunakan plugin: - Menambahkan Transform API baru untuk memungkinkan plugin pihak ketiga memanipulasi file
.class
terkompilasi sebelum dikonversi menjadi file.dex
. Transform API menyederhanakan injeksi manipulasi class kustom sekaligus menawarkan fleksibilitas yang lebih baik terkait apa saja yang dapat Anda manipulasi. Untuk menyisipkan transform ke dalam build, buatlah class baru yang mengimplementasikan salah satu antarmukaTransform
, lalu daftarkan keandroid.registerTransform(theTransform)
atauandroid.registerTransform(theTransform, dependencies)
. Tidak perlu menyatukan tugas. Perhatikan hal-hal berikut terkait Transform API: - Sebuah transform dapat berlaku untuk satu atau beberapa dari berikut ini: project saat ini, subproject, library eksternal.
- Transform harus didaftarkan secara global, yang akan menerapkannya ke semua varian.
- Pemrosesan kode internal, melalui Java Code Coverage Library (JaCoCo), ProGuard, dan MultiDex, sekarang menggunakan Transform API. Namun, Java Android Compiler Kit (Jack) tidak menggunakan API ini: hanya jalur kode
javac/dx
yang menggunakannya. - Gradle menjalankan transform dalam urutan sebagai berikut: JaCoCo, plugin pihak ketiga, ProGuard. Urutan eksekusi untuk plugin pihak ketiga cocok dengan urutan penambahan transform oleh plugin pihak ketiga; developer plugin pihak ketiga tidak dapat mengontrol urutan eksekusi transform melalui API.
- Menghentikan penggunaan pengambil
dex
dari classApplicationVariant
. Anda tidak dapat lagi mengakses tugasDex
melalui API varian karena hal tersebut sekarang diselesaikan melalui transform. Saat ini belum ada pengganti untuk mengontrol proses dex. - Memperbaiki dukungan inkremental untuk aset.
- Meningkatkan dukungan MultiDex dengan menyediakannya untuk project pengujian, dan pengujian sekarang otomatis memiliki dependensi
com.android.support:multidex-instrumentation
. - Menambahkan kemampuan untuk menggagalkan proses build Gradle dengan baik dan melaporkan penyebab error yang mendasarinya saat build Gradle memanggil tugas asinkron dan terjadi kegagalan dalam proses pekerja.
- Menambahkan dukungan untuk mengonfigurasi Antarmuka Biner Aplikasi (ABI) khusus pada varian yang memuat banyak ABI.
- Menambahkan dukungan untuk daftar nomor seri perangkat yang dipisahkan koma untuk variabel lingkungan
ANDROID_SERIAL
saat menginstal atau menjalankan pengujian. - Memperbaiki kegagalan penginstalan pada perangkat yang menjalankan Android 5.0 (API level 20) dan yang lebih tinggi jika nama APK memuat spasi.
- Memperbaiki berbagai masalah yang terkait dengan output error Android Asset Packaging Tool (AAPT).
- Menambahkan dukungan instrumentasi inkremental JaCoCo untuk mempercepat proses build inkremental. Plugin Android untuk Gradle sekarang memanggil instrumenter JaCoCo secara langsung. Untuk memaksakan versi instrumenter JaCoCo yang lebih baru, Anda harus menambahkannya sebagai dependensi skrip build.
- Memperbaiki dukungan JaCoCo sehingga mengabaikan file yang bukan merupakan class.
- Menambahkan dukungan vektor drawable untuk menghasilkan PNG selama waktu build agar kompatibel dengan versi sebelumnya.
Plugin Android untuk Gradle menghasilkan PNG untuk setiap vector drawable yang ditemukan di direktori resource yang tidak menentukan versi API atau yang menentukan atribut
android:minSdkVersion
20 atau lebih lama dalam elemen<uses-sdk>
di manifes aplikasi. Anda dapat menetapkan kepadatan PNG menggunakan propertigeneratedDensities
di bagiandefaultConfig
atauproductFlavor
filebuild.gradle
. - Menambahkan kemampuan berbagi
android.jar
tiruan, yang hanya dihasilkan satu kali oleh plugin dan digunakan untuk pengujian unit. Beberapa modul, sepertiapp
danlib
, sekarang membagikannya. Hapus$rootDir/build
untuk membuatnya kembali. - Mengubah pemrosesan resource Java agar terjadi sebelum tugas obfuscation, bukan selama pengemasan APK. Dengan perubahan ini, tugas obfuscation memiliki waktu untuk menyesuaikan resource Java setelah obfuscation paket.
- Memperbaiki masalah penggunaan kode Java Native Interface (JNI) dalam plugin library eksperimental.
- Menambahkan kemampuan untuk menetapkan versi platform secara terpisah dari atribut
android:compileSdkVersion
dalam plugin library eksperimental.
android { dataBinding { enabled = true } }
android { dataBinding { enabled = true } }
- Mengintegrasikan plugin Data Binding ke dalam plugin Android untuk Gradle. Untuk mengaktifkannya, tambahkan kode berikut ke setiap file
Versi minimum | Versi default | Catatan | |
---|---|---|---|
Gradle | 2.2.1 | 2.2.1 | Untuk mempelajari lebih lanjut, lihat mengupdate Gradle. |
SDK Build Tools | 21.1.1 | 21.1.1 | Instal atau konfigurasi SDK Build Tools. |