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)“设备状态”里选上 “启动时连接”

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

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

以下图Enter键就可以了


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



新扩容的空间会出现在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.启动虚拟机,也许会出现以下的登录界面

这是删除后又新建的Linux-swap分区未挂载的原因,跳过进入Ubuntu系统修改配置文件即可
进入Ubuntu系统可输入命令free -m查看swap为0,下图仅用作示例(另图中数据显示可能图与图之间不对,因为用的是旧图,但不影响示范作用)

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

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

(3)重启Ubuntu系统,重启之前,也可以用命令df -h查看分区扩容情况
(4)用命令free -m 查看swap是否不为0,不为0,说明已经成功了,上一步df -h可以看到分区扩容了
以上是个人遇到扩容问题时的解决过程记录,若有错误和不足,请指正。
Ubuntu编译Android源码过程中的空间不足解决方法的更多相关文章
- [原]编译Android源码过程中遇到的问题
编译Android源码的过程参考Android官网介绍: 1.下载Android源码的步骤:https://source.android.com/source/downloading.html 2.编 ...
- Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决
昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...
- ubuntu 编译android 源码笔记
已经验证,可以编译成功.过程中会碰到一些编译错误,安装好依赖环境,可以解决. 1.splite压缩包的合并,解压缩,md5验证 http://pan.baidu.com/s/1bnG1NtX kitk ...
- ubuntu 编译android源码
1.https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ 清华大学Android 镜像使用 ...
- Ubuntu编译Android源码步骤
Android4.4源码编译 需要准备以下文件: 源码包名:x4412_kitkat_rtm.tar.bz2 Jdk版本为jdk1.6.0_27 gcc 4.4 g++ 4.4 第一步:安装Ubunt ...
- 深入浅出 - Android系统移植与平台开发(五)- 编译Android源码(转)
2.3编译Android源码 Android源码体积非常庞大,由Dalvik虚拟机.Linux内核.编译系统.框架代码.Android定制C库.测试套件.系统应用程序等部分组成,在编译Android源 ...
- 【转】在Ubuntu下编译Android源码并运行Emulator
原文网址:http://www.mcuos.com/thread-4553-1-1.html 建立编译环境 1.在VirtualBox上安装Ubuntu 2.安装JDK $ sudo apt-ge ...
- wubi安装ubuntu后,增加swap大小,优化swap的使用参数-----------让ubuntu健步如飞,为编译android源码准备
wubi安装ubuntu后,终端输入free -m可以查到如下信息: total used free shared buffers cached Mem: 1944 1801 143 0 557 70 ...
- 将Android源码导入eclipse中的方法以及编译Android源码指定模块
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/53365659 将android源码导入eclipse.androidstudio. ...
随机推荐
- 715. Range Module
A Range Module is a module that tracks ranges of numbers. Your task is to design and implement the f ...
- codevs3002 石子归并3
3002 石子归并 3 题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子,一次合并的代价为两堆石子的重量和w[i]+w[i+1].问安 ...
- 剑指OFFER之打印1到最大的N位数(九度OJ1515)
题目描述: 给定一个数字N,打印从1到最大的N位数. 输入: 每个输入文件仅包含一组测试样例.对于每个测试案例,输入一个数字N(1<=N<=5). 输出: 对应每个测试案例,依次打印从1到 ...
- java基础第十二篇之集合、增强for循环、迭代器和泛型
Collection接口中的常用方法: * 所有的子类子接口都是具有的 * 集合的方法:增删改查 * * public boolean add(E e);//添加元素 返回值表示是否添加成功 * pu ...
- NET Core 2.0 自定义
ASP.NET Core 2.0 自定义 _ViewStart 和 _ViewImports 的目录位置 在 ASP.NET Core 里扩展 Razor 查找视图目录不是什么新鲜和困难的事情,但 _ ...
- 042 Trapping Rain Water 接雨水
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算下雨之后能接多少雨水.例如,输入 [0,1,0,2,1,0,1,3,2,1,2,1],返回 6. 详见:https://leetcode.c ...
- 使用docker save load 的时候的一个小问题
当你使用docker save image_id > aa.tar ; 然后再使用 docker load < aa.tar 时, 你会发现此时导入的镜像的repository和 tag ...
- 记录一个修改application.properties时遇到的坑
有一个需求是会频繁修改配置文件中的常量,为了方便就会用unzip解压war包,修改propertites中的值后重新打war 包,部署,但是发现修改的值没有起作用,,一直在纠结...后来发现其实在编译 ...
- 牛客网Java刷题知识点之正则表达式(Matcher、Pattern)
不多说,直接上干货! 正则表达式是什么? 正则表达式是一种可以用于模式匹配和替换的规范, 一个正则表达式就是由普通的字符(例如字符a到z) 以及特殊字符(元字符) 组成的文字模式, 它用以描述在查找文 ...
- Redis set(集合)
Redis 的 Set 是 String 类型的无序集合,元素不允许重复. Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1). 集合中最大的元素数为 232 - 1 ( ...