Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung


Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!

java.lang.OutOfMemoryError während des Builds

Das Thema "java.lang.OutOfMemoryError während des Builds" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 12.03.2010, 09:35   #1 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 16.08.2009
Beiträge: 112
Abgegebene Danke: 0
Erhielt 4 Danke für 3 Beiträge
Standard java.lang.OutOfMemoryError während des Builds

Hallo,

ich versuche gerade meinen Buildprozess mit Hilfe von Hudson zu automatisieren. Dabei wird das Androidprojekt per Ant gebaut. Allerdings scheitert jeder Build mit folgender Fehlermeldung:
Code:
[apply] UNEXPECTED TOP-LEVEL ERROR:     [apply] java.lang.OutOfMemoryError: Java heap space     [apply] 	at java.util.ArrayList.(ArrayList.java:113)     [apply] 	at java.util.ArrayList.(ArrayList.java:120)     [apply] 	at com.android.dx.ssa.SsaBasicBlock.(SsaBasicBlock.java:94)     [apply] 	at com.android.dx.ssa.SsaBasicBlock.newFromRop(SsaBasicBlock.java:124)     [apply] 	at com.android.dx.ssa.SsaMethod.convertRopToSsaBlocks(SsaMethod.java:164)     [apply] 	at com.android.dx.ssa.SsaMethod.newFromRopMethod(SsaMethod.java:105)     [apply] 	at com.android.dx.ssa.SsaConverter.convertToSsaMethod(SsaConverter.java:45)     [apply] 	at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:100)     [apply] 	at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:74)     [apply] 	at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:269)     [apply] 	at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:131)     [apply] 	at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:85)     [apply] 	at com.android.dx.command.dexer.Main.processClass(Main.java:297)     [apply] 	at com.android.dx.command.dexer.Main.processFileBytes(Main.java:276)     [apply] 	at com.android.dx.command.dexer.Main.access$100(Main.java:56)     [apply] 	at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:228)     [apply] 	at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)     [apply] 	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130)     [apply] 	at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108)     [apply] 	at com.android.dx.command.dexer.Main.processOne(Main.java:245)     [apply] 	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:183)     [apply] 	at com.android.dx.command.dexer.Main.run(Main.java:139)     [apply] 	at com.android.dx.command.dexer.Main.main(Main.java:120)     [apply] 	at com.android.dx.command.Main.main(Main.java:87)
Ich habe bereits versucht den Java Heap Space per ANT_OPTS anzuheben. Aber selbst mit über 1GB RAM gibt er sich nicht zufrieden. Ein manueller Build auf der Kommandozeile per Ant schlägt auf die selbe Weise fehl. Aber auf meinem lokalen Win7-System kann ich das Projekt ganz normal bauen. Hat jemand eine Idee woran das liegen könnte?
dereulenspiegel ist offline   Mit Zitat antworten
Alt 12.03.2010, 17:51   #2 (permalink)
freier Samsungsupporter
 
Benutzerbild von SirMArtin

Registriert seit: 05.08.2009
Beiträge: 119
Abgegebene Danke: 18
Erhielt 8 Danke für 7 Beiträge
Standard AW: java.lang.OutOfMemoryError während des Builds

Wenn der [apply] Task einen eigenen Java-Task per fork startet, müssten ihm die -Xmx und -Xms Parameter übergeben werden.

EDIT:

das sieht stark nach einem eigenen Java-Task aus: at com.android.dx.command.Main.main
__________________
follow me || Mod im SAMSUNG mob!le Forum
Apps: Ist mein Zug pünktlich? | Fläschchenmixer
Geräte: Galaxy S & Galaxy & Spica
SirMArtin ist offline   Mit Zitat antworten
Alt 14.03.2010, 18:30   #3 (permalink)
Team-Manager
 
Benutzerbild von garak

Modell: HTC Sensation XE

Registriert seit: 12.12.2009
Beiträge: 4.245
Abgegebene Danke: 139
Erhielt 1.251 Danke für 597 Beiträge
Standard AW: java.lang.OutOfMemoryError während des Builds

Du musst im Ant-Script den Speicher hoch setzen, der für den Build-Prozess dann zur Verfügung steht. Defaultmäßig bekommt er so um die 12 MB (hab's jetzt nicht genau im Kopf). Beispiel:

memoryInitialSize="256m"
memoryMaximumSize="512m"

Gruß
Chris
garak ist offline   Mit Zitat antworten
Alt 14.03.2010, 19:41   #4 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 16.08.2009
Beiträge: 112
Abgegebene Danke: 0
Erhielt 4 Danke für 3 Beiträge
Standard AW: java.lang.OutOfMemoryError während des Builds

Hi!

Sorry, dass ich nicht mehr geantwortet habe. Stressige Woche. Habe das Problem bereits gelöst. Und zwar dx das Problem. Das ist nur ein Bashscript in dem nochmal zusätzliche JAVA_OPTS angeben kann. Wenn man das macht, funzt alles wunderbar. Jetzt werden meine Android-Apps schön automatisch von Hudson gebaut
dereulenspiegel ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Dialpad blockiert während des Telefonats tehabe Samsung Galaxy (I7500) Forum 26 06.05.2010 22:22
Ständige Kosten während des Betriebs dwig Motorola Milestone Forum 6 16.02.2010 15:27
Wähltasten während des Telefonierens mr_highway Samsung Galaxy (I7500) Forum 7 22.11.2009 00:01
ziffernblock während des tefefonats nervt horst jankowski Samsung Galaxy (I7500) Forum 12 12.10.2009 12:00
Lautstärke während des Gesprächs ändern Criz Android Allgemein 6 21.07.2009 00:00




Du liest gerade: "java.lang.OutOfMemoryError während des Builds" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.