建筑物Froyo失败 - 制作:*** [... / classes.dex]被杀

时间:2010-07-27 14:24:47

标签: java android makefile

我正在尝试使用运行Ubuntu Netbook 10.04的华硕A3E笔记本电脑(512MB内存)从源代码构建Google的Android v2.2(Froyo)。

我已按照http://source.android.com/source/download.html上的说明操作,并使用以下命令将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 home。我也有:

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

然后我只是简单地说:

make

这大约需要一分钟,然后我会停下来:

target Dex: core

然后:

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

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

干杯, 斯图

2 个答案:

答案 0 :(得分:1)

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

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

添加交换最终会让你完成构建。如果你不断交换,那将会非常缓慢。你最好为笔记本电脑添加更多物理内存。

答案 1 :(得分:1)

# 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