2010-07-27 88 views
0

我试图从运行Ubuntu Netbook 10.04的华硕A3E笔记本电脑(512MB RAM)上的源代码构建谷歌的Android v2.2(Froyo) 。建筑Froyo失败 - 使:*** [.../classes.dex]死亡

我按照上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 

然后,我只是简单地说:

target Dex: core 

然后:

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

make 

这正好一分钟左右,然后我终于找到了好一会

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

干杯, 斯图

回答

1

如果系统杀死你可能耗尽内存浏览器窗口。/var/log/messages或“dmesg”的输出可能有一些信息。

对于“dx”处理core.jar(或其兄弟framework.jar)来说,512MB的RAM是不够的。您可能需要添加额外的交换空间。检查“swapon -s”以查看当前配置的交换类型。您可以使用mkswap和swapon创建交换区并开始使用它。你将需要一两个GB。 (如果你看看build/core/definitions.mk,你可以看到dx被传递-JXmx1536M,即Java VM被赋予了一个1.5GB的堆。)

添加swap应该会让你通过build,最终。如果你不断交换,这将会非常缓慢。你最好增加更多的物理内存到笔记本电脑上。

+0

dmesg的表现缺乏交换空间和交换的256MB是不够的。感谢提示我需要更新什么,我将增加交换空间,因为我不应该这样做太久:)干杯,Stu – Stu 2010-07-28 05:07:26

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 
+0

我认为你的意思是'sudo'而不是'sodu' ... – tiago 2012-12-05 09:32:52