我正在尝试使用运行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
我回复了提示。 我怀疑这是一个内存问题,因为它崩溃了我同时打开的任何浏览器实例。 有没有人知道解决方案/解决方法或至少是开始调试的好途径。
干杯, 斯图
答案 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