Java 构建Froyo失败-生成:**[…/classes.dex]已死亡

Java 构建Froyo失败-生成:**[…/classes.dex]已死亡,java,android,makefile,Java,Android,Makefile,我正试图在运行Ubuntu上网本10.04的华硕A3E笔记本电脑(512MB内存)上从源代码构建谷歌的Android v2.2(Froyo) 我已按照上的说明进行操作,并使用以下命令将java设置为版本5: sudo update-java-alternatives -s java-1.5.0-sun java -version gives me: 1.5.0_018 因此允许Android的预构建检查工作。 我还将我的~/.bashrc设置为导出java主目录,并将其设置为android

我正试图在运行Ubuntu上网本10.04的华硕A3E笔记本电脑(512MB内存)上从源代码构建谷歌的Android v2.2(Froyo)

我已按照上的说明进行操作,并使用以下命令将java设置为版本5:

sudo update-java-alternatives -s java-1.5.0-sun
java -version gives me: 1.5.0_018 
因此允许Android的预构建检查工作。 我还将我的~/.bashrc设置为导出java主目录,并将其设置为android java主目录。我还:

repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo 
repo sync
然后我只是简单地说:

make
这持续了大约一分钟,然后我在以下位置得到了长时间的停顿:

target Dex: core
然后:

我回到了一个提示。 我怀疑这是内存问题,因为它会使我同时打开的任何浏览器实例崩溃。 是否有人知道一个解决方案/解决方法,或者至少知道一个开始调试的好方法

干杯,
Stu

如果系统正在关闭浏览器窗口,则可能是内存不足/var/log/messages或“dmesg”的输出可能有一些信息

512MB的RAM不足以让“dx”处理core.jar(或其big brother framework.jar)。您可能需要添加额外的交换空间。选中“swapon-s”查看当前配置的交换类型。您可以使用mkswap和swapon创建交换区域并开始使用它。您将需要一两个千兆字节。(如果您在build/core/definitions.mk中查看,您可以看到dx被传递-JXmx1536M,即Java VM被赋予1.5GB堆。)

添加swap最终会帮助您完成构建。如果你不断地交换,速度会非常慢。你最好给笔记本电脑增加更多的物理内存

# sodu dd if=/dev/zero of=swapfile bs=1024 count=1655360
# mkswap swapfile
# swapon swapfile 
# vi /etc/fstab
加 例如:

//交换文件交换默认值0
#斯瓦彭-s

dmesg显示缺少交换空间,256MB的交换空间不够。谢谢你提供我需要更新的提示,我会增加交换空间,因为我不需要这么做太久:)干杯,斯图,我想你是说
sudo
而不是
sodu
。。。
# sodu dd if=/dev/zero of=swapfile bs=1024 count=1655360
# mkswap swapfile
# swapon swapfile 
# vi /etc/fstab
/<path>/swapfile               swap                    swap    defaults        0 0
# swapon -s