Saya mencoba menggunakan Android Studio, dan pertama kali saya mem-boot-nya, dibutuhkan waktu 45 MENIT untuk mengkompilasi ... Jika saya tidak keluar dari aplikasi, tidak apa-apa - setiap kompilasi / menjalankan selanjutnya akan memerlukan aplikasi sekitar 45 detik.
Saya sudah mencoba memeriksa beberapa cache saya: ada .gradle/caches
folder di direktori home saya, dan itu berisi 123 MB.
Ada juga .gradle
folder di folder proyek saya ... salah taskArtifacts
satunya seperti 200 MB. Saya takut untuk hanya secara acak nuke mereka berdua. Bagian mana dari folder yang aman untuk dihapus?
Apakah ada penjelasan yang lebih baik mengapa Android Studio saya membutuhkan waktu lama untuk menjalankan gradle assemble
tugas saat pertama kali memuat aplikasi?
Apakah saya juga harus menghapus cache intellij?
Compiler -> Gradle
tidakUse in-process build
. tidak ada hubungannya dengan cacheJawaban:
Seperti @ Bradford20000 tunjukkan dalam komentar, mungkin ada
gradle.properties
file serta skrip gradle global yang terletak di bawah$HOME/.gradle
. Dalam hal demikian, perhatian khusus harus diberikan ketika menghapus konten direktori ini.The
.gradle/caches
direktori memegangGradle
cache yang membangun. Jadi, jika Anda memiliki kesalahan tentang build cache, Anda dapat menghapusnya.sumber
Cache Gradle terletak di
%USER_HOME%\.gradle/caches/
~/.gradle/caches/
Anda dapat menjelajah ke direktori ini dan menghapusnya secara manual atau menjalankannya
pada sistem Unix. Jalankan perintah ini juga akan memaksa untuk mengunduh dependensi.
Pembaruan 2: Bersihkan cache build Android dari proyek saat ini
Catatan: File Android Studio | Cache / Restart tidak valid tidak menghapus cache build Android, jadi Anda harus membersihkannya secara terpisah.
Di Windows:
Di Mac atau Linux:
sumber
gradlew clean cleanBuildCache
EDIT:
cleanBuildCache
tidak lagi berfungsiPlugin android gradle sekarang menggunakan fitur cache gradle
REF: https://guides.gradle.org/using-build-cache/
REF: https://guides.gradle.org/using-build-cache/#caching_android_projects
DIGRESI LAINNYA
lihat di sini (termasuk suntingan).
================
INFO OBSOLETE:
Solusi terbaru menggunakan tugas gradle
cleanBuildCache
tersedia melalui plugin android untuk Gradle, revisi 2.3.0 (Februari 2017)
Ketergantungan:
lebih lanjut di:
https://developer.android.com/studio/build/build-cache.html#clear_the_build_cache
Latar Belakang
Bangun cache:
menyimpan output tertentu yang dihasilkan oleh plugin Android saat membangun proyek Anda (seperti AAR yang tidak dikemas dan dependensi jarak jauh yang sudah ditentukan sebelumnya). Build bersih Anda jauh lebih cepat saat menggunakan cache karena sistem build hanya dapat menggunakan kembali file-file yang di-cache selama build berikutnya, alih-alih membuatnya kembali. Proyek menggunakan plugin Android 2.3.0 dan lebih tinggi menggunakan cache build secara default. Untuk mempelajari lebih lanjut, baca Tingkatkan Kecepatan Build dengan Build Cache.
Catatan: Tugas cleanBuildCache tidak tersedia jika Anda menonaktifkan build cache.
pemakaian:
windows
linux / mac
Android Studio / IntelliJ
** gradle / gradlew adalah file khusus sistem yang berisi skrip - silakan lihat info sistem cara menjalankan skrip
sumber
Hati-hati dengan daemon gradle, Anda harus menghentikannya sebelum membersihkan dan menjalankan gradle.
Hentikan daemon pertama:
Bersihkan cache menggunakan:
Jalankan lagi kompilasi Anda
sumber
Daemon gradle juga membuat banyak file teks besar dari setiap log build tunggal. Mereka disimpan di sini:
"XX" adalah versi gradle yang digunakan, seperti "4.4", dan "XXXX" hanyalah angka acak, seperti "1234".
Ukuran total dapat tumbuh hingga beberapa ratus MB hanya dalam beberapa bulan . Tidak ada cara untuk menonaktifkan pencatatan, dan file tidak secara otomatis dihapus dan mereka tidak benar-benar perlu dipertahankan.
Tetapi Anda dapat membuat tugas gradle kecil untuk menghapusnya secara otomatis , dan membebaskan banyak ruang disk:
Tambahkan ini ke Anda
app/build.gradle
:Untuk melihat file mana yang sedang dihapus, Anda dapat melihat output debug di Android Studio -> View -> Tool Windows -> Build. Kemudian tekan tombol "Toggle View" pada jendela itu untuk menampilkan output teks.
Perhatikan bahwa Sync Gradle atau Gradle Build apa pun akan memicu penghapusan file.
Cara yang lebih baik adalah memindahkan file secara otomatis ke Trash / Recycle Bin, atau paling tidak menyalinnya ke folder Trash terlebih dahulu. Tetapi saya tidak tahu bagaimana melakukannya.
sumber
tampaknya ada info yang salah diposting di sini. beberapa orang melaporkan cara menghapus cache builder Android (dengan tugas
cleanBuildCache
) tetapi tampaknya tidak menyadari bahwa cache tersebut tidak tergantung pada cache build Gradle, AFAIK.pemahaman saya adalah bahwa cache Android mendahului (dan mengilhami) Gradle, tetapi saya bisa saja salah. apakah pembuat Android akan / telah diperbarui untuk menggunakan cache Gradle dan pensiun sendiri, saya tidak tahu.
EDIT: cache builder Android sudah usang dan telah dihilangkan. plugin Android Gradle sekarang menggunakan cache build Gradle sebagai gantinya. untuk mengontrol cache ini, Anda sekarang harus berinteraksi dengan infrastruktur cache generik Gradle.
TIP: cari bantuan cache Gradle online tanpa menyebutkan kata kunci 'android' untuk mendapatkan bantuan untuk cache yang saat ini relevan.
EDIT 2: karena pertanyaan tir38 dalam komentar di bawah, saya menguji menggunakan proyek Android Gradle v3.4.2. cache gradle diaktifkan oleh
org.gradle.caching=true
digradle.properties
. saya melakukan beberapaclean build
dan kedua kalinya sebagian besar tugas menunjukkanFROM-CACHE
statusnya, menunjukkan bahwa cache berfungsi.mengejutkan, saya punya
cleanBuildCache
tugas gradle dan<user-home>/.android/build-cache/3.4.2/
direktori, keduanya mengisyaratkan keberadaan cache pembangun Android.saya jalankan
cleanBuildCache
dan3.4.2/
direktori hilang. selanjutnya saya lakukan yang lainclean build
:FROM-CACHE
sebagai status dan bangunan selesai dengan kecepatan yang didukung cache.3.4.2/
direktori diciptakan.3.4.2/
direktori kosong (Simpan untuk 2 tersembunyi, nol file panjang penanda).kesimpulan:
cleanBuildCache
tidak menghapus atau memengaruhi cache build dengan cara apa pun.selanjutnya, saya menonaktifkan cache Gradle dengan menghapus
org.gradle.caching=true
darigradle.properties
dan saya mencoba beberapaclean build
:3.4.2/
direktori terus menjadi kosong.lebih banyak kesimpulan:
EDIT 3: user tir38 mengonfirmasi bahwa cache builder Android sudah usang dan telah dihilangkan dengan temuan ini . tir38 juga membuat masalah ini . Terima kasih!
sumber
3.4.2/
dir kosong . 2. kehadirancleanBuildCache
tugas 3. menonaktifkan cache build gradle dan membangun kembali tidak menunjukkan bukti tugas android yang memukul cache.Perintah:
rm -rf ~/.gradle/caches/
sumber