Sejak pembaruan terakhir (Build from Juni 25) setiap perubahan di Android studio Gradle sangat lambat. Dan sepertinya juga untuk melacak perubahan secara otomatis saat Anda mengedit file dan mengkompilasi ulang pada keyup.
Setiap perubahan memakan waktu beberapa menit pada i5 saya.
Adakah yang tahu bagaimana saya bisa mempercepat perubahan Gradle saya?
android
android-studio
Einar Sundgren
sumber
sumber
Jawaban:
Dev sedang mengerjakannya. Seperti yang saya posting dalam jawaban ini solusi tercepat saat ini adalah dengan menggunakan gradle dari baris perintah dan Anda harus beralih ke lib biner untuk semua modul yang tidak Anda kembangkan. Di g + ada diskusi dengan pengembang tentang hal itu.
sumber
Pasti membuat perbedaan: Bagaimana ... Mempercepat waktu build Gradle
Cukup buat file dengan nama
gradle.properties
di direktori berikut:Tambahkan baris ini ke file:
sumber
Setelah mengubah pengaturan ini, waktu kompilasi saya 10 menit berkurang menjadi 10 detik.
Langkah 1:
Langkah 2:
Langkah 3: Di file gradle.properties Anda -> Tambahkan baris berikut
Memperbarui:
Jika Anda menggunakan Android studio 2.0 atau lebih baru, cobalah Instant Run
Info lebih lanjut tentang Instant Run - https://developer.android.com/studio/run/index.html#instant-run
sumber
Saya dapat mengurangi gradle build saya dari 43 detik menjadi 25 detik pada laptop core2duo lama saya (menjalankan linux mint) dengan menambahkan yang berikut ke file gradle.properties di android studio
sumber mengapa pengaturan daemon membuat build lebih cepat: https://www.timroes.de/2013/09/12/speed-up-gradle/
sumber
Mengikuti langkah-langkah akan membuatnya 10 kali lebih cepat dan mengurangi waktu pembangunan 90%
Pertama buat file bernama gradle.properties di direktori berikut:
Tambahkan baris ini ke file:
Dan periksa opsi ini di Android Studio
sumber
Ada versi gradle yang lebih baru (ver 2.4).
Anda dapat mengatur ini untuk proyek Anda dengan membuka dialog 'Struktur Proyek' dari menu File,
dan atur ke '2.4'.
Anda dapat membaca lebih lanjut tentang meningkatkan kinerja di tautan ini .
sumber
Dengan Android Studio 2.1 Anda dapat mengaktifkan "Proses Dex Dalam" untuk pembuatan aplikasi yang lebih cepat.
Anda bisa mendapatkan info lebih lanjut tentang hal ini di sini: https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e#.vijksflyn
sumber
Inilah yang saya lakukan dan kecepatan build gradle saya meningkat secara dramatis! dari 1 menit hingga 20 detik untuk bangunan pertama dan selanjutnya menjadi dari 40 detik hingga 5 detik.
Dalam file gradle.properties Tambahkan ini:
Dalam Argumen Baris Perintah melalui Pergi ke File> Pengaturan Lainnya> Pengaturan default> Bangun, Eksekusi, Menyebarkan> Complier dan tambahkan argumen berikut ke Argumen Baris Perintah
Tambahkan ini:
sumber
Cobalah untuk menghindari penggunaan Mac / PC yang hanya memiliki 8 GB RAM ketika melakukan pengembangan Android. Segera setelah Anda meluncurkan 1 emulator (Genymotion atau lainnya), waktu build Anda menjadi sangat lambat di Android Studio dengan gradle build. Ini terjadi bahkan jika Anda membuat perubahan satu baris sederhana menjadi 1 file sumber.
Menutup emulator dan menggunakan perangkat nyata sangat membantu, tapi tentu saja ini sangat membatasi dan kurang fleksibel. Mengurangi pengaturan penggunaan RAM dari emulator dapat membantu, tetapi cara terbaik adalah memastikan laptop Anda memiliki setidaknya 12-16 GB RAM.
Pembaruan (Juni 2017): Sekarang ada beberapa artikel medium.com yang bagus yang menjelaskan cara mempercepat build Android Studio gradle secara detail, dan bahkan bekerja pada mesin 8 GB:
Konsensus yang dirangkum adalah:
Buat file gradle.properties (global
~/.gradle/gradle.properties
atau lokal untuk memproyeksikan), dan tambahkan baris berikut:sumber
Aktifkan Pekerjaan Offline
Tingkatkan Kinerja Gradle dengan menambahkan kode berikut di
gradle.properties
Panduan langkah demi langkah: http://www.viralandroid.com/2015/08/how-to-make-android-studio-fast.html
sumber
sumber
Acording ini halaman dari Tim Android dari Wikimedia Apps , cara yang baik untuk mengoptimalkan Gradle membangun adalah menambahkan baris ini untuk Anda ~ / .gradle / gradle.properties
Bagi mereka yang tidak memiliki file ada dua cara untuk melakukannya:
Tambahkan file secara lokal di proyek Anda dengan membuat file bernama gradle.properties di root proyek atau,
Anda dapat mengaturnya secara global untuk semua proyek Anda dengan membuat file yang sama di direktori home Anda (% UserProfile% .gradle di Windows , ~ / .gradle di Linux dan Mac OS X )
Ini adalah praktik yang baik untuk mengatur properti di direktori home Anda, bukan pada tingkat proyek.
sumber
Anda juga dapat menggunakan baris perintah untuk kinerja yang lebih baik. Anda dapat menggunakan perintah ./gradlew
<task name>
dari dalam folder root proyek Anda dari linux atau menggunakan file gradlew.bat seperti gradlew<task name>
. Ketika Anda pertama kali menjalankan salah satu perintah di atas untuk Gradle yang diberikan versi, itu akan mengunduh distribusi Gradle yang sesuai dan menggunakannya untuk menjalankan build.Saat mengimpor proyek Gradle melalui pembungkusnya, IDE Anda mungkin meminta untuk menggunakan distribusi 'semua' Gradle. Ini sangat bagus dan membantu IDE memberikan penyelesaian kode untuk file build. Ini tidak hanya berarti Anda tidak harus menginstal Gradle sendiri secara manual, tetapi Anda juga yakin akan menggunakan versi Gradle yang dirancang untuk membangunnya. Ini membuat bangunan historis Anda lebih dapat diandalkan. untuk info lebih lanjut, rujuk Melaksanakan pembangunan dengan Wrapper
sumber
Untuk build yang lebih cepat, tambah ukuran heap maksimum untuk daemon Gradle hingga lebih dari 2048 MB.
Untuk melakukan ini diatur
org.gradle.jvmargs=-Xmx2048M
dalam project gradle.properties .
sumber
Tambahkan
build.gradle
file:Saya harap ini membantu.
sumber
Saya menjalankan gen ke-5 i7 dengan Windows 10 dan Solid State 1TB. Saya mengompresi folder Android Studio Projects dan mendapat peningkatan sekitar 80%. Semoga ini membantu.
Saya kemudian menggabungkannya dengan solusi di atas yaitu (org.gradle.parallel = true, org.gradle.daemon = true). Peningkatan kinerja cukup mengesankan.
Selain itu:
Semua jawaban di atas benar-benar benar, tetapi saya harus menyatakan sebagai pengembang Android yang berpengalaman (selama 4 setengah tahun) bahwa: Tidak ada pengembang Android / Gradle yang dapat mengerjakan mesin dengan drive pemintal, Anda harus membayar untuk Solid state Kita semua menekan tombol putar di IDE 100 kali per hari. Ketika saya beralih dari pemintal ke SSD (post Gradle), kecepatan dan efisiensi saya benar-benar 2 - 4 kali lebih cepat dan saya berjanji kepada Anda bahwa saya TIDAK melebih-lebihkan di sini.
Sekarang saya tidak berbicara tentang memiliki mesin dengan SSD kecil dan pemintal besar, saya berbicara tentang 1 SSD besar. Jika Anda sudah memiliki mesin dengan SSD kecil dan pemintal besar, Anda dapat memutakhirkan pemintal kecil itu menjadi SSD 500GB dan mengatur SSD sebagai drive OS utama Anda dengan alat pengembang Anda yang terpasang di dalamnya.
Jadi, jika Anda bekerja di lingkungan yang serba cepat, harap tunjukkan posting ini kepada bos Anda. SSD 1TB yang layak akan membuat Anda kembali sekitar £ 300 (termasuk PPN), atau sekitar £ 160 untuk 500GB SSD. Bergantung pada apakah Anda seorang pengembang Android junior atau senior, drive akan membayar sendiri (dalam biaya upah) dalam 1-2 minggu kerja, atau sekitar 2 setengah hingga 5 hari kerja jika Anda berinvestasi dalam yang lebih kecil; katakanlah 500GB SSD.
Banyak pengembang mungkin berpendapat bahwa ini bukan masalahnya, tetapi ini adalah kasus untuk Gradle, karena sistem Gradle sangat sulit pada akses disk langsung. Jika Anda bekerja dengan .NET / C # / VB Net atau alat pengembangan lainnya Anda tidak akan melihat banyak perbedaan tetapi perbedaan dalam Gradle adalah BESAR. Jika Anda bertindak pada posting ini saya berjanji kepada Anda, Anda tidak akan kecewa. Secara pribadi saya menggunakan generasi kelima i7 dengan RAM 8GB yang awalnya datang dengan Spinner 1TB dan saya memutakhirkannya ke Samsung SSD 840 EVO 1TB dan saya tidak pernah melihat ke belakang sejak itu. Saya membeli barang saya dari: https://www.aria.co.uk .
Semoga ini membantu. Juga saya harus menyatakan bahwa ini BUKAN posting termotivasi secara komersial, saya hanya merekomendasikan Aria karena saya telah menggunakannya berkali-kali sebelumnya dan mereka selalu dapat diandalkan.
sumber
beberapa perintah yang bisa kita tambahkan ke file gradle.properties:
org.gradle.configureondemand = true - Perintah ini akan memberi tahu gradle untuk hanya membangun proyek yang benar-benar perlu dibangun. Gunakan Daemon - org.gradle.daemon = true - Daemon menjaga instance gradle dan berjalan di latar belakang bahkan setelah build Anda selesai. Ini akan menghilangkan waktu yang dibutuhkan untuk menginisialisasi gradle dan mengurangi waktu build Anda secara signifikan.
org.gradle.parallel = true - Izinkan gradle untuk membangun proyek Anda secara paralel. Jika Anda memiliki banyak modul dalam proyek Anda, maka dengan mengaktifkan ini, gradle dapat menjalankan operasi pembangunan untuk modul independen secara paralel.
Tingkatkan Ukuran Heap - org.gradle.jvmargs = -Xmx3072m -XX: MaxPermSize = 512m -XX: + HeapDumpOnOutOfMemoryError -Dfile.encoding = UTF-8 - Karena android studio 2.0, gradle menggunakan dex dalam proses untuk mengurangi waktu pembuatan untuk proses pembuatan untuk waktu pembuatan proyek. Secara umum, saat membangun aplikasi, banyak proses dx berjalan pada instance VM yang berbeda. Tetapi mulai dari Android Studio 2.0, semua proses dx ini berjalan di VM tunggal dan VM juga dibagi dengan gradle. Ini mengurangi waktu build secara signifikan karena semua proses dex berjalan pada instance VM yang sama. Tetapi ini membutuhkan memori yang lebih besar untuk mengakomodasi semua proses dex dan gradle. Itu berarti Anda perlu meningkatkan ukuran tumpukan yang dibutuhkan oleh daemon gradle. Secara default, ukuran heap untuk daemon adalah sekitar 1GB.
Pastikan ketergantungan dinamis tidak digunakan. yaitu tidak menggunakan implementasi 'com.android.support:appcompat-v7:27.0.+'. Perintah ini berarti gradle akan online dan memeriksa versi terbaru setiap kali membangun aplikasi. Alih-alih menggunakan versi tetap yaitu 'com.android.support:appcompat-v7:27.0.2'
sumber
Tambahkan ini ke
gradle.properties
file Andasumber
Buka gradle.properties dari folder android dan batalkan komentar pada garis yang disorot dan berikan nilai memori sesuai konfigurasi mesin Anda. Saya memiliki ram 8GB di mesin saya jadi saya memberikan maksimum 4096mb dan 1024mb.
Waktu membangun saya berkurang menjadi setengah setelah ini. Selamat membangun !!
sumber
Ini sering terjadi ketika Anda mengaktifkan multidex di proyek Anda. Ini berpotensi memperlambat proses pengembangan Anda !! Menurut doc :
tetapi Anda dapat mengoptimalkan ini:
Jadi, Anda perlu mengatur minSdkVersion ke 21 atau lebih tinggi !
Tetapi jika Anda versi produksi perlu mendukung minSdkVersion lebih rendah dari 21, misalnya 19
Anda dapat menggunakan productFlavours untuk mengatur minSdkVersion 21 untuk Anda versi dev :
sumber
Saya lebih suka membangun dari baris perintah untuk waktu pembangunan yang lebih baik. Jika basis kode aplikasi Anda besar dan Anda memiliki beberapa modul maka Anda dapat mencoba pendekatan AAR Lokal seperti yang dijelaskan di sini, itu akan memberi Anda dorongan besar dalam kinerja Android Studio & waktu pembangunan gradle. Ini kompatibel dengan build command line juga
https://blog.gojekengineering.com/how-we-improved-performance-and-build-times-in-android-studio-306028166b79
Proyek demo dengan instruksi integrasi dapat ditemukan di sini: https://github.com/akhgupta/AndroidLocalMavenRepoAARDemo
sumber