Android源码编译出现问题

在编译Android 2.3时,出现 make: *** [out/target/common/obj/JAVA_LIBRARIES/core_intermediates/noproguard.classes-with-local.dex] 已杀死。

后来通过free -m查到内存快被耗光但是虚拟内存为0。通过增加虚拟内存解决该问题。

1.创建一个 Swap 文件

mkdir swap
cd swap
sudo dd if=/dev/zero of=swapfile bs=1024 count=900000
面命令中的 count 即代表swap文件大小。

出现下列提示

记录了 100000+0 的读入
记录了 100000+0 的写出
102400000 字节 (102 MB) 已复制,0.94704 秒,37 MB/秒

把生成的文件转换成 Swap 文件

sudo mkswap swapfile


Setting up swapspace version 1, size = 102395 kB
no label, UUID=09fde987-5567-498a-a60b-477e302a988b

2.激活 Swap 文件。

sudo swapon swapfile

再次查看 free -m 的结果。

total used free shared buffers cached
Mem: 1002 967 34 0 22 410
-/+ buffers/cache: 534 467
Swap: 1053 32 1021

添加成功。


如果需要卸载这个 swap 文件,可以进入建立的 swap 文件目录。执行下列命令。
sudo swapoff swapfile


如果需要一直保持这个 swap ,可以sudo -s换到root
然后把它写入 /etc/fstab 文件。
swapfilepath swap swap defaults 0 0



发布了22 篇原创文章 · 获赞 4 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章