Android Studio gradle trwa zbyt długo

Mój projekt Android Studio kiedyś budował się szybciej, ale teraz zajmuje to dużo czasu. Jakieś pomysły, co może być przyczyną opóźnień? Próbowałem https://stackoverflow.com/a/27171878/391401 ale bez efektu. Nie mam żadnego antywirusa, który mógłby przerwać kompilację. Moja aplikacja nie jest tak duży rozmiar, jak również (około 5MB) i używane do budowania w ciągu kilku sekund, ale nie wiem, co się zmieniło.

10:03:51 Gradle build finished in 4 min 0 sec  
10:04:03 Session 'app': running  
10:10:11 Gradle build finished in 3 min 29 sec  
10:10:12 Session 'app': running  
10:20:24 Gradle build finished in 3 min 42 sec  
10:28:18 Gradle build finished in 3 min 40 sec  
10:28:19 Session 'app': running  
10:31:14 Gradle build finished in 2 min 56 sec   
10:31:14 Session 'app': running  
10:38:37 Gradle build finished in 3 min 30 sec  
10:42:17 Gradle build finished in 3 min 40 sec  
10:45:18 Gradle build finished in 3 min 1 sec  
10:48:49 Gradle build finished in 3 min 30 sec  
10:53:05 Gradle build finished in 3 min 22 sec  
10:57:10 Gradle build finished in 3 min 19 sec  
10:57:11 Session 'app': running  
Author: Community, 2015-04-01

17 answers

W Android Studio przejdź do File -> Settings -> Build, Execution, Deployment -> Build Tools - > Gradle

(jeśli na mac) Android Studio - > preferencje... - >Build, Execution, Deployment -> Build Tools -> Gradle

Sprawdź "Praca Offline" w "globalne ustawienia Gradle"

Skróci to o 90% czas budowania gradle.

sprawdź to, aby skrócić czas kompilacji

Jeśli dodałeś nową zależność w gradle, będziesz musiał odznaczyć offline work albo gradle nie będzie w stanie rozwiązać zależności. Po całkowitym rozwiązaniu możesz sprawdzić pracę offline dla szybszego budowania

 385
Author: Biswajit Karmakar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-30 19:03:16

Jeśli korzystasz z usług Google Play, upewnij się, że nie używasz tego w skrypcie Gradle build:

compile 'com.google.android.gms:play-services:8.3.0'

Używaj tylko tych interfejsów API Google, których naprawdę używa Twoja aplikacja. Jeśli używasz tylko Google Maps, możesz użyć tego:

com.google.android.gms:play-services-maps:8.3.0

Kiedy to zrobiłem, mój czas kompilacji poszedł z ponad 2 minut do około 25 sekund. Aby uzyskać listę interfejsów API Google, które można selektywnie kompilować, Zobacz:

Https://developers.google.com/android/guides/setup

 137
Author: AndroidDev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-29 01:37:26

Znalazłem łatwy i najlepszy sposób na zbudowanie gradle

Przejdź do aplikacji > > otwórz gradle.właściwości i zmienić kilka linii z niego [Usuń #]

W przeciwnym razie możesz skopiować wklej mój poniższy fragment

    # Project-wide Gradle settings.

# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx2048m -XX:MaxPermSize=512m
 org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 org.gradle.parallel=true

Zadziałało u mnie wcześniej zajęło to prawie 2-3 minuty teraz zajmuje tylko 5-6 sekund

W powyższym scenariuszu mój mac ma 8GB ram więc przypisałem 4gb dla gradle

 37
Author: Android is everything for me,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-14 11:07:37

Znalazłem powód!! Jeśli Android Studio ma ustawienie serwera proxy i nie może dotrzeć do serwera, to budowanie zajmuje dużo czasu, prawdopodobnie próbuje dotrzeć do serwera proxy i czeka na limit czasu. Kiedy usunąłem serwer proxy, ustawiając jego działanie dobrze.

Usuwanie proxy: File > Settings > Appearance & Behavior > System settings > HTTP Proxy

 32
Author: Harish,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-11 08:02:41

Włączenie funkcji Java 8 spowodowało śmiertelnie powolną kompilację

gradle

 jackOptions {
        enabled true
  }

  compileOptions {
    targetCompatibility 1.8
    sourceCompatibility 1.8
}

Po usunięciu powyższych linii buduje się w kilka sekund.

Jest problem Kompilowanie z Jackiem zajmuje bardzo dużo czasu

odpowiedź kierownika projektu

Zdajemy sobie sprawę, że czas budowania jest teraz problemem dla Jacka. Mamy ulepszenia w wtyczce Gradle 2.4, które powinny być znaczącą poprawą dla przyrostowych kompilacji.

Od najnowsza wersja Gradle jaką mogę znaleźć to 2.3.0-beta4

 17
Author: tchelidze,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-17 07:01:53

Wykonanie tych kroków sprawi, że będzie to 10 razy szybsze i skróci czas budowy o 90%

Najpierw Utwórz plik o nazwie gradle.właściwości w następującym katalogu:

/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)

Dodaj ten wiersz do pliku:

org.gradle.daemon=true

org.gradle.parallel=true
 15
Author: user779370,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-06 18:44:57

Zalecana Lektura: Jak oszczędzam 5h / tydzień na Gradle builds!

Zgodnie z tym doskonałym postem powinieneś spróbować zoptymalizować:

  • Gradle Daemon
  • Równoległa Realizacja Projektu
  • Konfigurowanie projektów na żądanie
  • Moduły są drogie...
 15
Author: Oded Regev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-20 08:53:43

@AndroidDev rozwiązanie działało dla mnie. Włączyłem całą lib do gradle.

compile 'com.google.android.gms:play-services:8.4.0'

Zmiana na rozwiązanie problemu. Od 4 min do 1 min.

compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.google.android.gms:play-services-analytics:8.4.0'

Thnx

 7
Author: KlevisGjN,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-03 20:13:36

1) Mój czas kompilacji znacznie się zwiększył po dodaniu nowych zależności bibliotek do mojego pliku gradle, co okazało się, że muszę później korzystać z multidex. A kiedy skonfigurowałem poprawnie multidex, mój czas kompilacji wzrósł do 2-3 minut. Jeśli więc chcesz skrócić czas kompilacji, unikaj używania multidex i w miarę możliwości zmniejsz liczbę zależności bibliotek.

2) Możesz również spróbować włączyć "pracę offline" w android studio, jak sugerowano tutaj, to ma sens. To nie będzie biblioteki refetch za każdym razem, gdy tworzysz kompilację. Być może powolne połączenie lub użycie proxy/vpn z wyłączoną "pracą w trybie offline" może prowadzić do spowolnienia czasu kompilacji.

3) usługi google - jak tu wspomniano, nie używaj całego pakietu, używaj tylko potrzebnych jego części.

 2
Author: lxknvlk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-17 11:27:06

Sprawdź połączenie internetowe . Jeśli prędkość Internetu jest bardzo wolna gradle build również zajmie dużo czasu, aby zbudować. Sprawdzam, zmieniając moje połączenie z Internetem wifi z innym dobrym szybkim połączeniem. Teraz czas budowy jest normalny. Spróbuj tego, zanim przejdziesz do innych rozwiązań. ktoś podejmie błędną decyzję o ponownej instalacji lub zmianie ustawień. Mam nadzieję, że to pomoże. Dzięki i pozdrawiam.

 2
Author: Karthikeyan Dheshnamoorthy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-23 07:01:53

W wersji beta Androida studio 2.0 wprowadzono funkcję o nazwie Instant Run . Skraca czas budowy o duży czynnik. Podstawowa koncepcja polega na tym, że Android Studio wypycha tylko małe zmiany wprowadzone do już działającej aplikacji.

Klasyfikuje zmiany, które wprowadzamy w naszym kodzie na trzy części: hot swap, warm swap i cold swap, bazując na obciążeniu, jakie zmiana spowodowałaby w kompilacji. Następnie po prostu zamienia kod w już uruchomionej aplikacji i my get może zobaczyć zmiany uruchomione kilka sekund. Zobacz ich doc aby uzyskać więcej informacji.

Tutaj możesz pobrać Android Studio 2.0 preview.

PS: jest kilka problemów z tą funkcją. Wypisali to w dokumentach. Sprawdź to przed instalacją.

 1
Author: Akeshwar Jha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-09 19:41:05
  1. Przejdź do File - > Setting-- > Gradle-- > ustaw go na tryb offline i zaznacz
 1
Author: vikas khot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-31 10:22:52

Borykałem się z tym samym problemem przez długi czas, ale rozwiązałem go, dostosowując ustawienia w gradle.

Krok 1: w aplikacji modułu dodaj zależność w BuildScript

buildscript {
 dependencies {
         classpath 'com.android.tools.build:gradle:2.0.0-alpha9'
}
}

Krok 2: Dodaj dexOption i podaj następujący rozmiar stosu

  dexOptions {
    incremental = true;
    preDexLibraries = false
    javaMaxHeapSize "4g"
}

Krok 3: Dodaj produktflavors

    productFlavors {
    dev {
        minSdkVersion 23
        applicationId = "com.Reading.home"
    }
    prod {
        minSdkVersion 15
        applicationId = "com.Reading.home" // you don't need it, but can be useful

    }
}
To powinno skrócić czas budowy.
 1
Author: Binesh Kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-15 07:50:07

Jeśli używasz systemu Windows 8...

Droidarc i AndroidDev rozwiązania, gdzie przydatne, ale nie enougth. Mój problem był związany z moim systemem operacyjnym Windows 8 i jego 100% wykorzystaniem dysku.

Szczególnie usługa Wyszukiwania Windows, była najbardziej zużywająca. Wyłącz to za pomocą: cmd (Admin) > net.exe stop "Windows search"

Postępowałem zgodnie ze wskazówkami pod TYM LINKIEM i rozwiązał problem na serio 4 wskazówki, aby naprawić 100% użycie dysku i poprawić wydajność systemu Windows

Mam nadzieję, że to pomoże.

 0
Author: karenms,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-28 22:53:23

Miałem ten sam problem w kotlinie. Zaktualizowanie przestarzałego środowiska wykonawczego kotlin rozwiązało to dla mnie

 0
Author: Rami Amr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-27 08:58:30

Miałem podobny problem na moim komputerze. Windows Defender blokował część budynku Gradle. Wyłączyłem go, potem działał dobrze.

 -3
Author: rickdroio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-29 16:10:31

Spróbuj ponownie uruchomić komputer i uruchomić Android Studio ponownie. Pracował dla mnie, gdy próbuje zbudować projekt Cordova / Phonegap z kodem docelowym Android.

 -38
Author: racl101,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-03 15:14:43