Ich verwende Android Studio unter OS X. Ich erhalte die folgende Fehlermeldung:
FAILURE: Build mit einer Ausnahme fehlgeschlagen.
Was schief gelaufen ist: Ausführung für Aufgabe ': app: preDexDebug' fehlgeschlagen. com.android.ide.common.internal.LoggedErrorException: Fehler beim Ausführen des Befehls: / Applications / Android Studio.app/sdk/build-tools/android-4.4W/dx --dex --output / Users / alex / AndroidStudioProjects / SilentSMS / app / build / intermediates / pre-dexed / debug / android-4.3_r2.1-f22bbff4d1017230e169a4844a9c2195f13060d2.jar /Users/alex/AndroidStudioProjects/SilentSMS/app/libs/android-
Fehlercode: 3 Ausgabe:
UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: GC overhead limit exceeded
at com.android.dx.cf.code.RopperMachine.getSources(RopperMachine.java:665)
at com.android.dx.cf.code.RopperMachine.run(RopperMachine.java:288)
at com.android.dx.cf.code.Simulator$SimVisitor.visitLocal(Simulator.java:612)
at com.android.dx.cf.code.BytecodeArray.parseInstruction(BytecodeArray.java:412)
at com.android.dx.cf.code.Simulator.simulate(Simulator.java:94)
at com.android.dx.cf.code.Ropper.processBlock(Ropper.java:782)
at com.android.dx.cf.code.Ropper.doit(Ropper.java:737)
at com.android.dx.cf.code.Ropper.convert(Ropper.java:346)
at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:282)
at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:139)
at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:94)
at com.android.dx.command.dexer.Main.processClass(Main.java:682)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
at com.android.dx.command.dexer.Main.access$600(Main.java:78)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
at com.android.dx.command.dexer.Main.processOne(Main.java:596)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
at com.android.dx.command.dexer.Main.run(Main.java:230)
at com.android.dx.command.dexer.Main.main(Main.java:199)
at com.android.dx.command.Main.main(Main.java:103)
Ich benutze diese Bibliothek:
http://grepcode.com/snapshot/repository.grepcode.com/java/ext/com.google.android/android/4.3_r2.1/
Ich habe die JAR-Datei gezogen und meinem Projekt hinzugefügt - das Projekt, das ich erstellen möchte, ist:
https://github.com/domi007/silentSMS/
Ich verstehe, dass meine xms- und xmx-Werte zu niedrig sind. Ich habe sie erhöht in:
/ Applications / Android Studio.app/bin/idea.vmoptions, sodass jetzt Folgendes angezeigt wird:
-Xms256m
-Xmx1024m
Ich erhalte jedoch immer noch den Fehler. Wodurch könnte dies verursacht werden? Abgesehen davon, dass die SilentSMS-App ein Eclipse-Projekt ist und ich den Code auf Android Studio portiere, habe ich nichts geändert. In Bezug auf Android Studio-Erkennungsfehler ist dies nicht der Fall, und alles andere sieht gut aus.
4g
ist ein bisschen übertrieben,2g
ist in OrdnungOutOfMemoryError
org.gradle.jvmargs=-XX:MaxPermSize=1024m -Xms1024m -Xmx4096m -XX:ReservedCodeCacheSize=1024m
In meinem Fall, um die Heap-Größe zu erhöhen sieht das aus:
Verwenden von Android Studio 1.1.0
Fügen Sie den obigen Code in Ihre Build.gradle- Datei ein.
quelle
GC overhead limit exceeded
behoben , nachdem ich Multidexing aktiviert hatte. Die Ausnahme war inat com.android.dx.command.dexer.Main.runMultiDex(Main.java:334)
at com.android.dx.util.FixedSizeList.<init>(FixedSizeList.java:38)
oben und der Stapel warcom.android.dx.command.dexer.Main.runMultiDex(Main.java:334) at com.android.dx.command.dexer.Main.run(Main.java:244) at com.android.dx.command.dexer.Main.main(Main.java:215) at com.android.dx.command.Main.main(Main.java:106)
incremental
: Dies hat viele Einschränkungen und funktioniert möglicherweise nicht. Vorsichtig verwenden.Dieses neue Problem wird durch die neueste Version von Android verursacht.
Wechseln Sie zu Ihrem Projektstammordner, öffnen Sie ihn
gradle.properties
und fügen Sie die folgenden Optionen hinzu:Fügen Sie dann diese Änderungen in Ihre
build.gradle
Datei ein:quelle
android.dexOptions.incremental
Eigenschaft ist veraltet und hat keine Auswirkungen auf den Erstellungsprozess.incremental
Ich deaktiviere meinen Sofortlauf durch:
Menü Preference → Erstellen → Instant - Run "Enable Instant - Run zu Hot - Swap - Code"
Ich denke, es ist der Instant Run, der den Build verlangsamt und eine große pidXXX.hprof-Datei erstellt, die dazu führt, dass das Overhead-Limit für AndroidStudio gc überschritten wird.
(Mein Geräte-SDK ist 19.)
quelle
Android Studio 3.5.3
Suchen Sie die Speichereinstellungen (Cmd + Umschalt + A auf dem Mac oder klicken Sie auf Hilfe und geben Sie "Speichereinstellungen" ein) unter Einstellungen / Einstellungen und erhöhen Sie die IDE-Heap-Größe und / oder die Daemon-Heap-Größe zu Ihrer Zufriedenheit
quelle
Fügen Sie dies der Datei build.gradle hinzu
quelle
Ich habe alle Java.exe von Taskmanger geschlossen, Android Studio neu gestartet und es hat bei mir funktioniert
quelle
Für mich hat keine der Antworten funktioniert, die ich hier gesehen habe. Ich vermutete, dass die extrem harte Arbeit der CPU den Computer heiß macht. Nachdem ich Programme geschlossen hatte, die viel CPU (wie Chrome) verbrauchen, und meinen Laptop abgekühlt hatte, verschwand das Problem.
Als Referenz: Ich hatte die CPU auf 96% -97% und die Speichernutzung über 2.000.000K durch einen java.exe-Prozess (der eigentlich gradle-bezogener Prozess war).
quelle
Ich verwende
Android Studio 3.4
und das einzige, was für mich funktioniert hat, war, die folgenden Zeilen aus meinerbuild.gradle
Datei zu entfernen :Weil
Android Studio 3.4
verwendetR8
infull mode
und nicht direkt kompatibel mitProguard
quelle
minifyEnabled true
Pro-Guard-Konfiguration, während gradle-5.1.1 ähnliche Probleme hatte../gradlew wrapper --gradle-version=5.2.1
In meinem Fall bearbeite ich meine
gradle.properties
:Hinweis: Wenn Sie Folgendes aktivieren
minifyEnabled true
:entferne diese Zeile:
und füge diese Zeilen in ur
build.gradle
,android
block hinzu:hoffe das hilft jemandem :)
quelle
4g ist ein bisschen übertrieben. Wenn Sie buildGradle nicht ändern möchten, können Sie FILE -> Invalid caches / restart verwenden.
Das funktioniert gut für mich ...
quelle
Irgendwann wurde eine Kopie von
apply plugin: 'com.android.application'
meinem Build-Gradle hinzugefügt. Das Entfernen der doppelten Kopie und das Sicherstellen, dass alle meine Apply-Plugins oben waren, hat das Problem für mich behoben.quelle