Plugin Android Gradle 3.2.0 (September 2018)
Versi plugin Android ini perlu beberapa hal berikut:
Versi minimum | Versi default | Catatan | |
---|---|---|---|
Gradle | 4.6 | 4.6 | Untuk mempelajari lebih lanjut, lihat mengupdate Gradle. |
SDK Build Tools | 28.0.3 | 28.0.3 | Instal atau konfigurasi SDK Build Tools. |
3.2.1 (Oktober 2018)
Dengan update ini, Anda tidak perlu lagi menentukan versi untuk SDK Build Tools. Plugin Android Gradle sekarang menggunakan versi 28.0.3 secara default.
Fitur baru
-
Dukungan untuk membuat Android App Bundle: App bundle adalah format upload baru yang menyertakan semua kode dan resource terkompilasi aplikasi Anda, sedangkan pembuatan dan penandatanganan APK-nya diserahkan ke Google Play Store. Anda tidak perlu lagi membuat, menandatangani, dan mengelola banyak APK, dan pengguna mendapatkan download yang lebih kecil yang dioptimalkan untuk perangkat mereka. Untuk mempelajari lebih lanjut, baca Tentang Android App Bundle.
-
Dukungan untuk peningkatan kecepatan build inkremental saat menggunakan pemroses anotasi: DSL
AnnotationProcessorOptions
sekarang memperluasCommandLineArgumentProvider
yang memungkinkan Anda atau penulis pemroses anotasi untuk menganotasi argumen bagi pemroses yang menggunakan anotasi jenis properti build inkremental. Penggunaan anotasi ini meningkatkan keakuratan dan performa build inkremental atau clean build yang di-cache. Untuk mempelajari lebih lanjut, baca Meneruskan argumen ke pemroses anotasi. -
Alat migrasi untuk AndroidX: Saat menggunakan plugin Android Gradle 3.2.0 dengan Android 3.2 dan versi yang lebih baru, Anda dapat memigrasikan dependensi Maven dan lokal project agar menggunakan library AndroidX baru dengan memilih Refactor > Migrate to AndroidX dari panel menu. Penggunaan alat migrasi ini juga menetapkan tanda berikut ke
true
dalam filegradle.properties
Anda:-
android.useAndroidX
: Jika ditetapkan ketrue
, plugin Android akan menggunakan library AndroidX yang sesuai, bukan Support Library. Jika flag ini tidak ditentukan, plugin akan menyetelnya kefalse
secara default. -
android.enableJetifier
: Jika disetel ketrue
, plugin Android akan otomatis memigrasikan library pihak ketiga yang ada agar menggunakan AndroidX dengan menulis ulang biner library tersebut. Jika flag ini tidak ditentukan, plugin akan menyetelnya kefalse
secara default. Anda dapat menetapkan tanda ini ketrue
hanya jikaandroid.useAndroidX
juga ditetapkan ketrue
; jika tidak, Anda akan mengalami error build.Untuk mempelajari lebih lanjut, baca Ringkasan AndroidX.
-
-
Penyingkat kode baru, R8: R8 adalah alat penyingkatan dan obfuscation kode baru yang menggantikan ProGuard. Anda dapat mulai menggunakan versi pratinjau R8 dengan menyertakan baris berikut dalam file
gradle.properties
project Anda:android.enableR8 = true
android.enableR8 = true
Perubahan perilaku
-
Desugaring dengan D8 sekarang diaktifkan secara default.
-
AAPT2 sekarang ada di repositori Maven Google. Untuk menggunakan AAPT2, pastikan Anda memiliki dependensi
google()
dalam filebuild.gradle
, seperti ditunjukkan di bawah ini:buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
-
Multidex native sekarang diaktifkan secara default. Android Studio versi sebelumnya mengaktifkan multidex native saat men-deploy versi debug sebuah aplikasi ke perangkat yang menjalankan Android API level 21 atau yang lebih tinggi. Sekarang, baik Anda men-deploy ke perangkat atau membuat APK untuk rilis, plugin Android Gradle akan mengaktifkan multidex native untuk semua modul yang menetapkan
minSdkVersion=21
atau yang lebih tinggi. -
Plugin sekarang memberlakukan versi minimum dari plugin protobuf (0.8.6), plugin Kotlin (1.2.50), dan plugin Crashlytics (1.25.4).
-
Plugin modul fitur,
com.android.feature
, sekarang memberlakukan penggunaan huruf, angka, dan garis bawah saja saat menentukan nama modul. Misalnya, jika nama modul fitur Anda menyertakan tanda hubung, Anda akan mengalami error build. Perilaku ini sesuai dengan plugin fitur dinamis.
Perbaikan bug
- JavaCompile kini bisa disimpan dalam cache pada project dengan data binding. (Masalah #69243050)
- Pencegahan kompilasi yang lebih baik untuk modul library dengan data binding. (Masalah #77539932)
- Sekarang Anda dapat mengaktifkan kembali konfigurasi sesuai permintaan jika menonaktifkannya pada versi sebelumnya karena beberapa error build yang tidak terprediksi. (Masalah #77910727)