Android源码编译:core_intermediates/noproguard.classes-with-local.dex] 已杀死

本文介绍了解决Android应用编译时出现的noproguard.classes-with-local.dex错误的方法。通过检查内存使用情况,发现内存不足是导致错误的原因之一。文章详细介绍了如何增加虚拟内存(Swap)来解决此问题。
摘要由CSDN通过智能技术生成
编译错误处理noproguard.classes-with-local.dex已杀死

错误现象描述:

Install: out/host/linux-x86/framework/dx.jar
Copy: dx (out/host/linux-x86/obj/EXECUTABLES/dx_intermediates/dx)
Install: out/host/linux-x86/bin/dx
target Dex: core
make: *** [out/target/common/obj/JAVA_LIBRARIES/core_intermediates/noproguard.classes-with-local.dex] 已杀死
开始怀疑是软件的环境没有搭建好导致或者工具的版本不对,后来通过free -m查到内存快被耗光但是虚拟内存为0。通过增加虚拟内存解决该问题。
增加虚拟内存的方法如下:
查看内存空间大小:free -m // m表示显示的字节单位是m(megabytes)
下面我们就来增加系统的 Swap 大小。
1.首先用命令free查看系统内 Swap 分区大小。
free -m
total used free shared buffers cached
Mem: 1002 964 38 0 21 410
-/+ buffers/cache: 532 470
Swap: 251 32 929

可以看到 Swap 只有251M,不符合 Oracle-xe-client 的安装要求。

2.创建一个 Swap 文件。进入根目录
mkdir swap
cd swap
sudo dd if=/dev/zero of=swapfile bs=1024 count=2100000

出现下列提示,上面命令中的 count 即代表swap文件大小。

记录了 2100000+0 的读入
记录了 2100000+0 的写出
2102400000 字节 (102 MB) 已复制,110.74704 秒,137 MB/秒

把生成的文件转换成 Swap 文件
sudo mkswap swapfile

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

3.激活 Swap 文件。
sudo swapon swapfile

再次查看 free -m 的结果。
total used free shared buffers cached
Mem: 1002 967 34 0 22 410
-/+ buffers/cache: 534 467
Swap: 2053 32 2021
添加成功。
如果需要一直保持这个 swap ,可以sudo -s换到root
然后把它写入 /etc/fstab 文件。
/swap/swapfile swap swap defaults 0 0
这样开机后就可以使用这个swap了

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

5.可以手动删除swapfile

rm swapfile




释放一些内存也可以。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值