lightbulb_outline Help shape the future of the Google Play Console, Android Studio, and Firebase. Start survey

Mempercepat Clean Build dengan Build Cache

Build cache menyimpan keluaran tertentu yang dihasilkan oleh Android plugin untuk Gradle saat membangun project Anda (seperti AAR yang tidak dikemas dan dependensi remote pre-dexed). Clean build Anda jauh lebih cepat saat menggunakan cache karena sistem build hanya bisa menggunakan kembali file-file yang di-cache pada waktu build berikutnya, daripada membuatnya kembali. Build cache juga bisa digunakan pada server integrasi berkesinambungan dan ketika menjalankan beberapa proses build pada satu mesin lokal.

Project yang menggunakan Android plugin 2.3.0 dan yang lebih tinggi mengaktifkan build cache secara default (kecuali bila Anda secara eksplisit menonaktifkan build cache). Namun, plugin akan menonaktifkan dependensi remote pre-dexed bila Anda mengatur salah satu properti build berikut ke pengaturan yang berbeda daripada yang ditunjukkan di bawah ini. (Ini adalah setelan default untuk setiap properti, jadi bila Anda sama sekali tidak mendeklarasikannya, caching dependensi remote pre-dexed tetap diaktifkan.)

android {
  defaultConfig {
    // If you do enable multidex, you must also set
    // minSdkVersion to 21 or higher.
    multiDexEnabled false
  }
  buildTypes {
    <build-type> {
      minifyEnabled false
    }
  }
  dexOptions {
    preDexLibraries true
  }
  ...
}
...

Catatan: Bila project Anda menggunakan Android plugin versi 2.2.2 atau 2.2.3, yang digunakan adalah versi eksperimental dari fitur build cache. Anda harus mengupdate project Anda untuk menggunakan versi Android plugin terbaru.

Bila Anda ingin mempelajari cara-cara lain untuk mempercepat build Anda, silakan baca Mengoptimalkan kecepatan build Anda.

Mengubah lokasi build cache

Secara default, Android plugin menyimpan cache Anda di <user-home>/.android/build-cache/. Bila Anda mengonfigurasi salah satu variabel lokasi berikut (tercantum dengan prioritas menurun), Android Studio menggunakan <path-variable>/.android/build-cache/ sebagai gantinya:

  • ANDROID_SDK_HOME
  • user.home
  • HOME

Plugin Android menggunakan satu lokasi default untuk build cache sehingga bisa berbagi file cache ke semua project Anda yang menggunakan Android plugin 2.3.0 atau yang lebih tinggi (dan tidak menonaktifkan build cache). Misalnya, setelah salah satu project Anda membangun dan meng-cache dependensi pre-dexed, project lain yang juga menggunakan dependensi tersebut bisa melewatkan pre-dexing dengan menyalinnya dari build cache bersama.

Bila Anda lebih suka project yang membuat cache-nya sendiri (dan tidak membagikan cache tersebut dengan project lain), Anda bisa menentukan lokasi unik untuk cache di file gradle.properties project dengan cara berikut:

// You can specify either an absolute path or a path relative
// to the gradle.properties file.
android.buildCacheDir=<path-to-directory>

Setelah selesai mengedit file, klik Sync Project untuk membuat direktori build cache baru.

Catatan: Hindari menetapkan direktori untuk build cache yang berada di dalam direktori <project-root>/build/ atau <project-root>/<module-root>/build/ karena Gradle menghapus direktori ini setiap kali menjalankan tugas clean.

Bila Anda hanya ingin berbagi cache dengan project tertentu, tetapkan direktori build cache yang sama dalam file gradle.properties dari project-project tersebut.

Mengosongkan build cache

Serupa dengan tugas clean Android plugin yang mengosongkan direktori build/ project Anda, Anda bisa menjalankan tugas cleanBuildCache untuk mengosongkan build cache project Anda. Jika sebuah project menetapkan direktori non-default untuk build cache-nya, menjalankan tugas dari project itu hanya akan membersihkan cache tersebut (dan bukan cache bersama di lokasi default). Untuk menjalankan tugas, pilih View > Tool Windows > Terminal dari bilah menu dan gunakan salah satu perintah berikut:

  • Pada Windows:
    gradlew cleanBuildCache
  • Pada Mac atau Linux:
    ./gradlew cleanBuildCache

Catatan: Tugas cleanBuildCache tidak tersedia bila Anda menonaktifkan build cache.

Menonaktifkan build cache

Karena build cache mempercepat clean build Anda, tidak disarankan untuk menonaktifkan fitur ini. Bila Anda masih ingin menonaktifkan build cache untuk project Anda, tambahkan kode berikut ke file gradle.properties:

// To re-enable the build cache, either delete the following
// line or set the property to 'true'.
android.enableBuildCache=false

Setelah selesai mengedit file, klik Sync Project untuk menerapkan perubahan Anda.

Catatan: Setelah Anda menonaktifkan build cache, Android plugin akan mengabaikan properti android.buildCacheDir dan tugas cleanBuildCache tidak lagi tersedia. Selain itu, menonaktifkan build cache tidak secara otomatis mengosongkan direktori cache. Ini memungkinkan Anda untuk menyimpan file cache bila Anda memutuskan untuk mengaktifkan kembali build cache.