Plugin Android Gradle 3.1.0 (Maret 2018)

Versi plugin Android ini perlu beberapa hal berikut:

  • Gradle 4.4 atau yang lebih tinggi.

    Untuk mempelajari lebih lanjut, baca bagian tentang mengupdate Gradle.

  • Build Tools 27.0.3 atau yang lebih tinggi.

    Perlu diingat, Anda tidak perlu lagi menentukan versi untuk build tools menggunakan properti android.buildToolsVersion. Plugin karena plugin tersebut secara default menggunakan versi minimum yang diperlukan.

Compiler DEX baru, D8

Secara default, Android Studio sekarang menggunakan compiler DEX baru bernama D8. Kompilasi DEX adalah proses mengubah bytecode .class menjadi bytecode .dex untuk Android Runtime (atau Dalvik, untuk versi Android yang lebih lama). Dibanding compiler sebelumnya, yang bernama DX, D8 mengompilasi lebih cepat dan menghasilkan file DEX lebih kecil, dengan performa runtime aplikasi yang sama atau bahkan lebih baik.

D8 tidak mengubah alur kerja rutin pengembangan aplikasi Anda. Namun, jika mengalami masalah terkait compiler baru, silakan laporkan bug. Anda dapat untuk sementara menonaktifkan D8 dan menggunakan DX dengan menyertakan baris berikut dalam file gradle.properties project:

      android.enableD8=false
    

Untuk project yang menggunakan fitur bahasa Java 8, desugaring inkremental diaktifkan secara default. Anda dapat menonaktifkannya dengan menentukan baris berikut dalam file gradle.properties project:

      android.enableIncrementalDesugaring=false.
    

Pengguna pratinjau: Jika Anda sudah menggunakan versi pratinjau D8, perhatikan bahwa D8 sekarang dikompilasi terhadap library yang disertakan dalam alat build SDK—bukan JDK. Jadi, jika Anda mengakses API yang ada di JDK tetapi tidak ada di library alat build SDK, Anda akan mengalami error kompilasi.

Perubahan perilaku

  • Saat membuat multi-APK yang masing-masing menargetkan ABI berbeda, secara default plugin tidak lagi menghasilkan APK untuk ABI berikut: mips, mips64, dan armeabi.

    Jika ingin membangun APK yang menargetkan ABI ini, Anda harus menggunakan NDK r16b atau yang lebih rendah dan menentukan ABI dalam file build.gradle, seperti yang ditunjukkan di bawah ini:

              splits {
                  abi {
                      include 'armeabi', 'mips', 'mips64'
                      ...
                  }
              }
            
              splits {
                  abi {
                      include("armeabi", "mips", "mips64")
                      ...
                  }
              }
            
  • Cache build plugin Android kini akan menghapus entri cache yang tersimpan lebih dari 30 hari.

  • Meneruskan "auto" ke resConfig tidak lagi otomatis memilih resource string yang akan dikemas dalam APK Anda. Jika Anda terus menggunakan "auto", plugin akan memaketkan semua resource string yang disediakan oleh aplikasi Anda dan dependensinya. Jadi, sebaiknya tentukan setiap lokal yang Anda ingin dikemas oleh plugin ke dalam APK Anda.

  • Karena modul lokal tidak dapat bergantung pada APK pengujian aplikasi Anda, menambahkan dependensi ke uji instrumentasi menggunakan konfigurasi androidTestApi, bukan androidTestImplementation, akan menyebabkan Gradle mengeluarkan peringatan berikut:

            WARNING: Configuration 'androidTestApi' is obsolete
            and has been replaced with 'androidTestImplementation'
            
            WARNING: Configuration 'androidTestApi' is obsolete
            and has been replaced with 'androidTestImplementation'
            

Perbaikan

  • Memperbaiki masalah saat Android Studio tidak mengenali dependensi pada build gabungan.
  • Memperbaiki masalah saat mengalami error sinkronisasi project ketika memuat plugin Android berkali-kali dalam satu build–misalnya, saat beberapa subproject masing-masing menyertakan plugin Android pada classpath buildscript-nya.