Miałem takie problemy, szczególnie podczas aktywnego debugowania przez telefon; czasami zajęło to 27 minut. Zrobiłem następujące rzeczy i zapoznaj się z objaśnieniami pod każdym z nich - jedno może dla ciebie pracować:
- Zmieniono mój plik gradle.properties (w skryptach Gradle, jeśli masz widok pliku projektu w opcji Android LUB w folderze projektu). Dodałem to, ponieważ mój komputer ma trochę pamięci - na końcu możesz przypisać różne wartości w zależności od specyfikacji komputera i minimalnych wymagań studia Android (Xmx8000m -XX: MaxPermSize = 5000m):
org.gradle.daemon = true
org.gradle.configureondemand = true
org.gradle.parallel = true
android.enableBuildCache = true
org.gradle.caching = true
org.gradle.jvmargs = -Xmx8000m -XX: MaxPermSize = 5000m -XX: + HeapDumpOnOutOfMemoryError -Dfile.encoding = UTF-8
- Nie rozwiązało to całkowicie mojego problemu w moim przypadku. Dlatego też zrobiłem tak, jak inni sugerowali wcześniej - aby proces kompilacji był offline:
Plik -> Ustawienia / Preferencje -> Kompilacja, wykonanie, wdrożenie -> Stopień
Globalne ustawienia stopniowania (na dole)
Zaznacz pole wyboru o nazwie: Praca offline.
- To znacznie skróciło czas, ale było nieregularne; czasami trwało to dłużej. Dlatego wprowadziłem kilka zmian w Instant Run:
Plik -> Ustawienia / Preferencje -> Kompilacja, wykonanie, wdrożenie -> Natychmiastowe uruchomienie
Zaznaczone: Włącz natychmiastowe uruchamianie kodu wymiany na gorąco ...
Sprawdzone: uruchom ponownie aktywność po zmianach kodu ...
Powyższe posunięcie było również błędne i dlatego starałem się dowiedzieć, czy problemem mogą być procesy / pamięć, które działały bezpośrednio na moim telefonie i komputerze. Tutaj zwolniłem trochę pamięci w telefonie i pamięci (która była wykorzystywana w 98% - do 70%), a także w Menedżerze zadań (Windows), zwiększyłem priorytet zarówno Android Studio, jak i Java.exe do High. Zrób ten krok ostrożnie; zależy od pamięci komputera.
Po tym wszystkim mój czas kompilacji podczas aktywnego debugowania na moim telefonie czasami zmniejszał się do 1 ~ 2 minut, ale czasami zwiększał się. Postanowiłem zrobić hack, który mnie zaskoczył, skracając go do kilku sekund jak dotąd w tym samym projekcie, który dał mi 22 - 27 minut to 12 sekund !:
Podłącz telefon do debugowania, a następnie kliknij Uruchom
Po uruchomieniu odłącz telefon - kompilacja powinna być kontynuowana szybciej i na końcu zgłosić błąd informujący o tym: „Aplikacja” sesji: Błąd instalowania plików APK
Ponownie podłącz telefon i ponownie kliknij RUN ...
ALTERNATYWNIE
Jeśli skrypt / funkcja / metoda, którą debuguję, to czysta JAVA, a nie JAVA-android, np. Testowanie API za pomocą JSONArrays / JSONObjects, testuję moje funkcje / metody java na Netbeans, które mogą skompilować pojedynczy plik i wyświetlić dane wyjściowe szybciej niż zrobić niezbędne zmiany w moich plikach Android Studio. To również oszczędza mi dużo czasu.
EDYTOWAĆ
Próbowałem utworzyć nowy projekt Androida w pamięci lokalnej i skopiowałem wszystkie moje pliki z poprzedniego projektu do nowego - java, res, manifest, gradle app i gradle project (z najnowszą zależnością gradle classpath). A teraz mogę zbudować na swoim telefonie w mniej niż 15 sekund.