Android源码编译出现问题

在Ubuntu虚拟机中编译Android 2.3源码时遇到'已杀死'错误,原因是内存资源耗尽。通过创建并激活Swap文件来扩大虚拟内存解决了问题。具体步骤包括创建Swap文件、转换并激活它,最后可将其添加到/etc/fstab以持久化设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在编译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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值