2016-05-16 15 views
14

So habe ich an einer einfachen App in Android Studio gearbeitet und seit den letzten paar Tagen, wenn ich auf "Ausführen" klicke, dauert es mehr als 5 Minuten zu bauen. Es war nicht so langsam. Ich weiß nicht warum. Es heißt "Gradle Build Running" und die App wird nach 5 Minuten geladen. Und das passiert sowohl auf dem Emulator als auch auf meinem Android-Gerät. Meine Klasse-Version ist 2.10 ich dieses Problem sah auf und ich habe alles versucht, die andere ähnliche Beiträge einschließlich vorgeschlagen haben:Android Studio Gradle Build dauert mehr als 5 Minuten

  • --parallel Hinzufügen und --offline Einstellungen Zeilenoption
  • Aktivieren ‚offline arbeiten zu befehlen 'in Gradle Einstellung
  • org.gradle.daemon=true Hinzufügen in gradle.properites Datei sind

Nachfolgend finden Sie die Screenshots.

image 1

image 2

image 3

Auch nach all diesen zu tun, nimmt meine Klasse zu bauen 5+ Minuten. Dies ist, was es im Ereignisprotokoll war:

10:27:57 AM Executing tasks: [:app:clean, :app:generateDebugSources,  :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:generateDebugAndroidTestSources, :app:assembleDebug] 
10:34:24 AM Gradle build finished in 6m 26s 378ms 

Irgendwelche Vorschläge hilfreich sein wird. Vielen Dank im Voraus :)

+0

Haben eine ähnliche Frage http://StackOverflow.com/Questions/37247256/decreasing-android-Studio-2-1-Build-Time/37253276#37253276 – praticus

+2

Ich habe versucht, was beide Kommentare auf diesem Post und immer noch nicht vorgeschlagen Glück –

+0

welchen Emulator verwenden Sie? –

Antwort

14

Aktivieren Sie "Dex In Prozess" für schnellere App-Builds (für Android Studio 2.1).

increase the amount of memory allocated to the Gradle Daemon VM by 1 Gb, to a minimum of 2 Gb, using the org.gradle.jvmargs property:

org.gradle.jvmargs=-Xmx2048m 

Lesen Sie mehr über es hier: Faster Android Studio Builds with Dex In Process

dexinprocess

+0

Ich habe bereits diese Codezeile in meinem Ordner gradle.properties: es sieht so aus "org.gradle.jvmargs = -Xmx2048m -XX: MaxPermSize = 512m -XX: + HeapDumpOnOutOfMemoryError -Dfile.encoding = UTF-8 " –

+0

Ja, aber diese Zeile ist standardmäßig kommentiert. Fügen Sie 'org.gradle.jvmargs = -Xmx2048m' darunter hinzu. Ich habe es in einem meiner Projekte versucht, die Bauzeit ist deutlich gesunken. Es wurde von 17 Sekunden auf 8 Sekunden reduziert. – jayeshsolanki93

+0

Danke, es hat funktioniert! 2 Minuten> 15 Sekunden –

11

Andere Lösungen hier haben mich noch nicht geholfen. Ich sehe Builds dauern 30+ Minuten nur mit Error:Out of memory: GC overhead limit exceeded enden. Aber ich habe in den letzten Tagen leichte Fortschritte gemacht.

Hinweis: Ich glaube nicht, das eine Lösung für das Problem ist, nur eine Abhilfe, bis Jack arbeitet die Schleifen

Ich habe folgendes meine Build gradle:

android { 
    .... 
    defaultConfig { 
    .... 
    jackOptions { 
      enabled true 
      additionalParameters('jack.incremental': 'true') 
     } 
    } 

    compileOptions { 
     incremental true 
     sourceCompatibility JavaVersion.VERSION_1_8 
     targetCompatibility JavaVersion.VERSION_1_8 
    } 

    dexOptions { 
     javaMaxHeapSize '4096m' 
    } 

}

Aus irgendeinem Grund das Hinzufügen

org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 

zu meiner Gradle.properties keinen Unterschied gemacht. Ich musste es in der dexOptions hinzufügen.

+0

Danke Chad. Dies ist die einzige Möglichkeit, wie ich es endlich arbeiten lassen könnte ... – Kaizie

+0

Ich bekomme den Fehler : Gradle DSL Methode nicht gefunden: 'additionalParameters()' – Relm

+0

in meinem Fall '' jack.incremental ': true' funktioniert. –

Verwandte Themen