2015-06-02 13 views
8

Czas budowy w tej chwili wynosi około ~ 2-4 min.Konstrukcja Gradle niesamowicie wolno

Używam około 11 bibliotek dostarczonych przez Gradle.

Mam następujący zestaw:

buildTypes { 
    debug { 
     multiDexEnabled = true 
     applicationIdSuffix ".debug" 
     minifyEnabled false 
     proguardFile 'proguard-rules.pro' 
    } 
} 

dexOptions { 
    javaMaxHeapSize "4096M" 
    preDexLibraries false 
    jumboMode = true 
    incremental = true 
} 

Gradle: Offline mode

Mam następujące ustawienie w gradle.properties org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

We właściwościach globalnych mam:

org.gradle.daemon=true 
org.gradle.parallel=true 
org.gradle.configureondemand=true 

Przejrzałem każdy artykuł, który mogę znaleźć w Google/Stackoverflow.

Czy istnieje sposób na przyspieszenie procesu do co najmniej 1 minuty?

Aktualizacja 6 sierpnia 2015

Te rzeczy naprawdę pomogły prędkości dla mnie.

gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-2.5-all.zip 

build.gradle Zależności projektu

classpath 'com.android.tools.build:gradle:1.3.0' 

Aktualizacja 09 sierpnia 2015

Odkryłam, że jak to Okazuje się, używając Protoc działa bardzo wolno na Androida. Przełączyłem się na Wire i zajęło to czas kompilacji od 2 min. do 10s-30s.

Odpowiedz

1

Znalazłem, że multiDexEnabled = true sprawia, że ​​mój proces kompilacji jest bardzo wolny. Nie wiem, czy uda się jakoś poprawić jego wydajność, ale na razie po prostu ją wyłączyłem.

Należy go używać tylko wtedy, gdy ilość metod w projekcie (w tym bibliotekach) przekracza limit 65 tys. Może można odciąć niektóre z 11 bibliotek, a następnie wyłączenie opcji multiDexEnabled powinno rozwiązać problem.

1

Można również uaktualnić Gradle poprzez edycję pliku gradle-wrapper.properties i ustawić gradle-2.4-all.zip

distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip 
0

Musisz włączyć gradle daemon.

Utwórz plik o nazwie gradle.properties w następującym katalogu:

  • /home//.gradle/ (Linux)
  • /Users//.gradle/ (Mac)
  • C: \ Users \.Gradle (Windows)

Dodaj tę linię do pliku:

org.gradle.daemon=true 

Odtąd Gradle użyje demona budować, czy używasz Gradle z linii poleceń lub budynku w Android Studio.

Powiązane problemy