Ubuntu编译Android源码过程中的空间不足解决方法

  Android源码一般几十G,就拿Android5.0来说,下载下来大概也有44G左右,和编译产生的文件以及Ubuntu系统占用的空间加起来,源码双倍的空间都不够有。编译源码前能分配足够的空间再好不过,但往往事后才发现分配的空间不够用也在所难免,一下是本人遇到空间不足以及解决过程的记录。

  在此之前,先讲些相关情况,装Ubuntu之前最好能把/boot分区和编译Android源码的目录所在分区分开安装,单独出来,以免编译源码的目录满了的时候关机后再登录,这时就会黑屏进不了桌面。

Ubuntu系统(虚拟机里)扩容编译Android源码的目录所在分区,首先关闭Ubuntu系统,单击虚拟机(M) ->   设置->    (硬件)硬盘 ->   使用工具  -》扩展  就会弹出扩展磁盘容量的对话框,然后输入要扩展到的容量,最后点击扩展。安装Ubuntu分区不多的情况也许往往到这里就完事了,但是Ubuntu系统安装多个分区的时候,往往要借助图形分区工具gparted Live来调整分区大小或移动分区。   下载gparted Live工具,它是一个镜像文件。

图形分区工具gparted Live来调整分区大小或移动分区

1. 安装图形分区工具gparted Live

虚拟机里Ubuntu系统关闭前提下

(1)在右边的“连接”里选  “使用ISO镜像文件(M)”  添加下载的gparted Live镜像文件。

(2)“设备状态”里选上 “启动时连接”

Ubuntu编译Android源码过程中的空间不足解决方法

2.启动gparted Live。

(1)首先启动Ubuntu系统,当进入vmware倒计时界面,迅速点击鼠标进入系统按Esc键,

Ubuntu编译Android源码过程中的空间不足解决方法

这一步,可能时间很短暂,来不及反应就已经跳过该界面启动系统了,网上有vi /etc/inittab修改启动优先级的方法来停留在该界面,但新版本的Ubuntu系统已经找不到目录/etc/inittab下的文件,这时可以修改Ubuntu系统安装目录里的后缀名为vmx的配置文件,添加bios.bootDelay = "10000"并保存即可。

按Esc键,进入选项菜单选择CD-ROM drive

Ubuntu编译Android源码过程中的空间不足解决方法

以下图Enter键就可以了

Ubuntu编译Android源码过程中的空间不足解决方法

Ubuntu编译Android源码过程中的空间不足解决方法

接着分别输入26、0就能进入磁盘扩容界面

Ubuntu编译Android源码过程中的空间不足解决方法

Ubuntu编译Android源码过程中的空间不足解决方法

Ubuntu编译Android源码过程中的空间不足解决方法

新扩容的空间会出现在Linux-swap分区下方(因为当时操作时没有截图,所以用了上方的旧图),并且没有被格式化,这时

(1)右击Linux-swap分区选择删除分区,新扩容的空间会和删除后的Linux-swap空间合并在一起,

(2)右击(1)的空间选择新建和邻近的/dev/sda4一样ext4格式的分区,

(3)通过按钮”调整大小/移动“按钮,左右拖到分区条来改变分区空间大小,并且只能改变相邻分区的大小,

(4)重新新建已删除的Linux-swap分区

(5)点击Apply按钮,这时只需等待系统完成分区扩容

(6)点击close

(7)点击左上角菜单栏,退出

(8)双击左上角按钮,退出gparted Live

3.取消”启动时连接“恢复虚拟机设置,删除BIOS时间设置或改小时间

4.启动虚拟机,也许会出现以下的登录界面

Ubuntu编译Android源码过程中的空间不足解决方法

这是删除后又新建的Linux-swap分区未挂载的原因,跳过进入Ubuntu系统修改配置文件即可

进入Ubuntu系统可输入命令free -m查看swap为0,下图仅用作示例(另图中数据显示可能图与图之间不对,因为用的是旧图,但不影响示范作用)

Ubuntu编译Android源码过程中的空间不足解决方法

(1)输入blkid命令查看当前分区UUID号,另外也可以另外打开一个终端输入cat  /etc/fstab命令,对比一下相应的分区UUID号哪个不相同,一般都是swap分区改变了,复制swap  UUID号

Ubuntu编译Android源码过程中的空间不足解决方法

(2)输入vi  /etc/fstab命令,删除里面的swap  UUID号,并粘贴UUID号,保存。

Ubuntu编译Android源码过程中的空间不足解决方法

(3)重启Ubuntu系统,重启之前,也可以用命令df -h查看分区扩容情况

(4)用命令free -m 查看swap是否不为0,不为0,说明已经成功了,上一步df -h可以看到分区扩容了

以上是个人遇到扩容问题时的解决过程记录,若有错误和不足,请指正。

上一篇:Android 源码编译及常见错误及解决方法


下一篇:Python中的map( )和reduce( )