Android Studio 2.0 Vorschau 8 mit gradle Plugin 2.0.0-alhpa8, Speicherwarnung trotz Haufengröße zu 4Gb

Ich habe gerade aktualisiert auf Android Studio Version 2.0 Vorschau 8 und gradle Plugin 2.0.0-alpha8. Ich habe bemerkt, dass es jetzt eine Warnung gibt, falls der Haufenraum nicht groß genug ist, um zu deklamieren.

Wie sie auf der richtigen Seite ( http://tools.android.com/recent )

In 2.0.0-alpha8 haben wir hierzu eine automatische Diagnose hinzugefügt: Wenn der Build-Prozess zu klein ist, schalten wir zurück zu Out-of-Memory-Dexing und emittieren eine Build-Warnung und erklären, wie man die Gradle-Daemon-Größe stoßen kann. (Wir arbeiten auch an einigen zusätzlichen Verbesserungen für den nächsten Build nach alpha8.)

Als ich mein Projekt baute, bekam ich folgende Fehlermeldung:

Um Dex im Prozess laufen zu lassen, benötigt der Gradle-Daemon einen größeren Haufen. Es hat derzeit 3641 MB. Für schnellere Builds erhöhen Sie die maximale Heapgröße für den Gradle-Daemon auf mehr als 4g, wie in dexOptions.javaMaxHeapSize angegeben. Um dies zu tun, set org.gradle.jvmargs = -Xmx4g wie in dexOptions.javaMaxHeapSize im Projekt gradle.properties angegeben. Weitere Informationen finden Sie unter https://docs.gradle.org/current/userguide/build_environment.html

Eigentlich bekomme ich eine Menge davon in einer Reihe. Was mich überrascht, weil ich das in meiner gradle.properties-Datei sehe (in meinem Projekt home dir)

ANDROID_BUILD_TARGET_SDK_VERSION=23 ANDROID_BUILD_TOOLS_VERSION=23 ANDROID_BUILD_SDK_VERSION=23 ANDROID_BUILD_MIN_SDK_VERSION=16 org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 

Auch in der build.gradle meines Hauptmoduls habe ich

 android { dexOptions { incremental true javaMaxHeapSize "4g" } } 

Also verstehe ich nicht wo der builder / dexer / compiler diesen 3641MB-Wert bekommt.

Builds sind extrem langsam

Ich Deaktiviert Instant Run und jetzt sind die Dinge schneller. 48-50 Sekunden für einen Bau. Ich bekomme immer noch den gleichen Fehler, aber nur einmal und nicht viele Male in Folge.

Ich bin unter Linux, mein ulimit -a ist folgendes:

 core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 31483 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 31483 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited 

Auch das ist meine studio.vmoptions Datei: https://gist.github.com/MarKco/1ae7918daf867a378a2f Ich denke, es ist unedited. Ich könnte einen Brauch haben, aber ich weiß nicht, wo es sein könnte.

  • Gradle Ausschluss oder Hinzufügen von Referenz für JAR-Datei hart in der Bibliothek Klassen enthalten.jar
  • gradle: Android Studio inherit buildtype
  • "Fehler: Attribut" Stil "wurde bereits definiert" Fehler nach dem Hinzufügen von facebook sdk von Maven
  • Konfigurieren von Robolectric, Android Studio und Gradle, um eine Testanwendung zu machen
  • Android-Tools Gradle Plugin
  • Mit zwei Res-Verzeichnissen pro Build-Variante stoppte Gradle die Verfolgung von Änderungen in Ressourcendateien
  • Gradle error "Attribut" xxx "wurde bereits in" Android Studio "definiert
  • Build Unsigned APK mit Gradle
  • One Solution collect form web for “Android Studio 2.0 Vorschau 8 mit gradle Plugin 2.0.0-alhpa8, Speicherwarnung trotz Haufengröße zu 4Gb”

    Ich habe es gelöst, oder so scheint es. Die letzte Änderung, die ich gemacht hatte, bevor ich die Frage gestellt habe, war die folgende:

    ich hatte

     ANDROID_BUILD_TARGET_SDK_VERSION=22 ANDROID_BUILD_TOOLS_VERSION=22 ANDROID_BUILD_SDK_VERSION=22 ANDROID_BUILD_MIN_SDK_VERSION=16 org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 

    Und ich habe es geändert

     ANDROID_BUILD_TARGET_SDK_VERSION=23 ANDROID_BUILD_TOOLS_VERSION=23 ANDROID_BUILD_SDK_VERSION=23 ANDROID_BUILD_MIN_SDK_VERSION=16 org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 

    Ich weiß nicht, warum es nicht automatisch geändert wurde, da ich seit langer Zeit 23 als Zielversion benutzt habe. Wie auch immer, nachdem ich von 22 auf 23 gewechselt habe, hatte ich noch keine guten bauen, aber das schien auf eine gradle sync zu laufen, die noch im hintergrund läuft. Ich habe alle Gradeprojekte getötet, die Version 23 an Stelle von 22 gehalten, den Sofortlauf deaktiviert und eine neue Synchronisation durchgeführt. Zuerst hielt ich die "Dex in Bearbeitung laufen", der Gradle-Daemon braucht einen größeren Haufen. " Fehler, nur einmal und nicht wiederholt, wie es vorher passiert ist. Aber baue nach bauen Ich sah bauen mal immer niedriger, bis ich eine 10 Sekunden bauen baute. Ich denke, es ist gelöst. Ich hoffe zumindest

    PS Am Ende habe ich die MaxPermSize entsprechend geändert, was Henry sagte, jetzt ist meine Konfiguration

     ANDROID_BUILD_TARGET_SDK_VERSION=23 ANDROID_BUILD_TOOLS_VERSION=23 ANDROID_BUILD_SDK_VERSION=23 ANDROID_BUILD_MIN_SDK_VERSION=16 org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.