2010-07-27 5 views
0

Je tente de construire Google Android v2.2 (Froyo) de la source sur un ordinateur portable Asus A3E (512 Mo ram) exécutant Ubuntu Netbook 10.04 .Le bâtiment Froyo échoue - make: *** [.../classes.dex] Tué

j'ai suivi les instructions sur http://source.android.com/source/download.html et mettre java à la version 5 à l'utilisation:

sudo update-java-alternatives -s java-1.5.0-sun 
java -version gives me: 1.5.0_018 

Permettant ainsi le contrôle de prebuild Android fonctionne. J'ai également mis mon/~ .bashrc pour exporter le répertoire de base de Java et le mettre à la maison Java Android. J'ai aussi:

repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo 
repo sync 

Je tout simplement:

make 

Cela va pendant environ une minute, puis-je obtenir une longue pause à:

target Dex: core 

Puis:

make: *** [out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.dex] Killed 

et je suis de retour à une invite. Je suppose que c'est un problème de mémoire car il bloque toutes les instances de navigateur que j'ai ouvert en même temps. Est-ce que quelqu'un sait une solution/solution de contournement ou au moins un bon chemin pour commencer le débogage.

Cheers, Stu

Répondre

1

Si le système est en train de tuer les fenêtres du navigateur, vous êtes probablement en cours d'exécution de mémoire./var/log/messages ou la sortie de "dmesg" peut contenir des informations.

512 Mo de RAM ne suffisent pas à "dx" pour traiter core.jar (ou son grand frère framework.jar). Vous devrez peut-être ajouter de l'espace d'échange supplémentaire. Vérifiez "swapon -s" pour voir quel type d'échange est actuellement configuré. Vous pouvez utiliser mkswap et swapon pour créer une zone d'échange et commencer à l'utiliser. Vous aurez besoin d'un gigaoctet ou deux. (Si vous regardez dans build/core/definitions.mk, vous pouvez voir que dx est passé -JXmx1536M, c'est-à-dire que la machine virtuelle Java reçoit un tas de 1,5 Go.)

Ajout de swap devrait vous aider à traverser la construction, finalement. Ce sera péniblement lent si vous échangez constamment. Vous feriez mieux d'ajouter plus de RAM physique à l'ordinateur portable.

+0

dmesg a montré l'absence de swapspace et l'échange de 256 Mo ne suffit pas. Merci pour les conseils sur ce que je vais devoir mettre à jour, j'augmenterai le swapspace car je n'aurais pas besoin de le faire trop longtemps :) Cheers, Stu – Stu

1
# sodu dd if=/dev/zero of=swapfile bs=1024 count=1655360 
# mkswap swapfile 
# swapon swapfile 
# vi /etc/fstab 

ajouter par exemple:

/<path>/swapfile    swap     swap defaults  0 0 
# swapon -s 
+0

Je pense que vous voulez dire 'sudo' et non 'sodu' ... – tiago