Android2.3 编译错误处理 make ......./noproguard.classes-with-local.dex] 已杀死

来源:互联网 发布:it软件解决方案 编辑:程序博客网 时间:2024/04/30 04:57

今天在解决Daily build机器第一遍编译失败时,从网上获取一些消息,没有一个完整到方案,特整合供大家享用。

错误现象描述:

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: 951 32 929

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

2.创建一个 Swap 文件。
mkdir swap
cd swap
sudo dd if=/dev/zero of=swapfile bs=1024 count=100000

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

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

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

Setting up swapspace version 1, size = 102395 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: 1053 32 1021

添加成功。

扩展:
如果需要卸载这个 swap 文件,可以进入建立的 swap 文件目录。执行下列命令。
sudo swapoff swapfilehttp://it.china-b.com/linux/xtgl/20090525/21754_1.html

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

swapfilepath swap swap defaults 0 0

引用“http://wangkerui.com/%E8%BD%ACubuntu%E4%BF%AE%E6%94%B9%E8%99%9A%E6%8B%9F%E5%86%85%E5%AD%98%EF%BC%88%E5%8D%B3swap%E7%A9%BA%E9%97%B4%EF%BC%89/”