Plugin Android Gradle 2.2.0 (September 2016)
- Dependensi:
- Baru:
- 
    - Menggunakan Gradle 2.14.1, yang mencakup peningkatan performa dan fitur baru, serta memperbaiki kerentanan keamanan yang memungkinkan eskalasi akses lokal saat menggunakan daemon Gradle. Lihat Catatan rilis Gradle untuk detail selengkapnya.
- Menggunakan DSL 
    externalNativeBuild {}, sekarang Gradle memungkinkan Anda menautkan ke sumber native dan mengompilasi library native menggunakan CMake atau ndk-build. Setelah mem-build library native, Gradle akan memaketkannya ke dalam APK. Untuk mempelajari lebih lanjut cara menggunakan CMake dan ndk-build dengan Gradle, baca Menambahkan Kode C dan C++ ke Project Anda.
- Jika menjalankan build dari command line, Gradle akan berupaya mendownload otomatis komponen SDK yang hilang atau update yang menjadi dependensi project Anda. Untuk mempelajari lebih lanjut, baca Mendownload otomatis paket yang tidak ditemukan dengan Gradle.
- Fitur caching eksperimental baru memungkinkan Gradle mempercepat waktu build dengan melakukan pre-dexing, menyimpan, dan menggunakan kembali library versi pre-dexed. Untuk mempelajari lebih lanjut cara menggunakan fitur eksperimental ini, baca panduan Cache Build.
- Meningkatkan performa build dengan mengadopsi pipeline pengemasan default baru yang menangani pembuatan zip, penandatanganan, dan zipaligning dalam satu tugas. Anda
  dapat kembali ke alat pengemasan lama dengan menambahkan
  android.useOldPackaging=trueke filegradle.propertiesAnda. Saat menggunakan alat pengemasan baru, tugaszipalignDebugtidak tersedia. Namun, Anda dapat membuatnya sendiri dengan memanggil metodecreateZipAlignTask(String taskName, File inputFile, File outputFile).
- Penandatanganan APK kini menggunakan APK Signature Scheme v2 selain penandatanganan JAR tradisional. Semua platform Android akan menerima
APK yang dihasilkan. Setiap modifikasi pada APK setelah penandatanganan akan menjadikan tanda tangan v2 tidak valid dan mencegah penginstalan pada perangkat. Untuk menonaktifkan fitur ini,
      tambahkan kode berikut ke file build.gradlelevel modul:Groovyandroid { ... signingConfigs { config { ... v2SigningEnabled false } } } Kotlinandroid { ... signingConfigs { create("config") { ... v2SigningEnabled = false } } } 
- Untuk build multidex, sekarang Anda dapat menggunakan aturan ProGuard untuk menentukan class
mana yang harus dikompilasi Gradle ke dalam file DEX utama aplikasi Anda. Karena
      sistem Android memuat file DEX utama terlebih dahulu saat memulai aplikasi, Anda
      dapat memprioritaskan class tertentu selama proses startup dengan mengompilasinya ke dalam file DEX
      utama. Setelah membuat file konfigurasi ProGuard khusus untuk file DEX utama, teruskan jalur file konfigurasi ini ke Gradle menggunakan buildTypes.multiDexKeepProguard. Penggunaan DSL ini berbeda dengan penggunaanbuildTypes.proguardFiles, yang menyediakan aturan ProGuard umum untuk aplikasi Anda dan tidak menentukan class untuk file DEX utama.
- Menambahkan dukungan untuk tanda android:extractNativeLibs, yang dapat mengurangi ukuran aplikasi Anda saat diinstal di perangkat. Jika Anda menetapkan tanda ini kefalsedalam elemen<application>manifes aplikasi, Gradle akan memaketkan versi library native yang tidak terkompresi dan telah diselaraskan ke dalam APK. Akibatnya,PackageManagertidak akan menyalin library native dari APK ke sistem file perangkat selama penginstalan dan memberikan manfaat tambahan berupa ukuran update delta yang lebih kecil untuk aplikasi Anda.
- Sekarang Anda dapat menetapkan 
versionNameSuffixdanapplicationIdSuffixuntuk ragam produk. (Masalah 59614)
 
- Perubahan:
- 
  - 
    getDefaultProguardFilesekarang menampilkan file ProGuard default yang disediakan oleh plugin Android untuk Gradle dan tidak lagi menggunakan file ProGuard yang ada di Android SDK.
- Peningkatan performa dan fitur kompiler Jack:
    - Sekarang Jack mendukung cakupan pengujian Jacoco jika testCoverageEnabledditetapkan ketrue.
- Peningkatan kualitas dukungan untuk pemroses anotasi. Pemroses anotasi di classpath Anda, seperti dependensi compile, otomatis diterapkan ke build Anda. Anda juga dapat menentukan pemroses anotasi dalam argumen build dan pass menggunakanjavaCompileOptions.annotationProcessorOptions {}DSL dalam filebuild.gradlelevel modul:Groovyandroid { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className 'com.example.MyProcessor' // Arguments are optional. arguments = [ foo : 'bar' ] } } } } Kotlinandroid { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className = "com.example.MyProcessor" // Arguments are optional. arguments(mapOf(foo to "bar")) } } } } Jika ingin menerapkan pemroses anotasi selama proses kompilasi tetapi tidak ingin menyertakannya ke dalam APK, gunakan lingkup dependensi annotationProcessor:Groovydependencies { compile 'com.google.dagger:dagger:2.0' annotationProcessor 'com.google.dagger:dagger-compiler:2.0' // or use buildVariantAnnotationProcessor to target a specific build variant } Kotlindependencies { implementation("com.google.dagger:dagger:2.0") annotationProcessor("com.google.dagger:dagger-compiler:2.0") // or use buildVariantAnnotationProcessor to target a specific build variant } 
- Secara default, jika ukuran heap daemon Gradle setidaknya 1,5 GB, Jack akan berjalan dalam proses yang sama dengan Gradle. Untuk menyesuaikan ukuran heap daemon, tambahkan baris berikut ke file gradle.propertiesAnda:# This sets the daemon heap size to 1.5GB. org.gradle.jvmargs=-Xmx1536M 
 Untuk daftar parameter yang dapat Anda tetapkan, jalankan perintah berikut dari command line: java -jar /build-tools/jack.jar --help-properties 
- Sekarang Jack mendukung cakupan pengujian Jacoco jika 
 
- 
    
| Versi minimum | Versi default | Catatan | |
|---|---|---|---|
| Gradle | 2.14.1 | 2.14.1 | Untuk mempelajari lebih lanjut, lihat mengupdate Gradle. | 
| SDK Build Tools | 23.0.2 | 23.0.2 | Instal atau konfigurasi SDK Build Tools. | 
