搞Android搞了这么久,竟然没有编译过Android源码,有点说不过去啊。
搞起来,说干就干。
环境准备:
MacBook Pro 256GB
联想移动固态硬盘 1TB
因为电脑空间太小了,所以想到外接一个移动硬盘来存储AOSP代码,简单攻略了一下,最后选择了联想1TB的移动固态硬盘,价格亲民(3xx),拿到手之后特别小巧,插上就可使用。
1. 硬盘格式化
-
在磁盘工具中找到你的移动硬盘,右键选择抹掉
抹掉磁盘
格式选择ExFAT。
-
打开移动硬盘文件夹,新建一个文件夹用来存放Android源码,比如我的文件夹是AOSP。
再次打开磁盘工具,创建区分大小写的磁盘映像,选中移动硬盘,点击菜单栏-->文件-->新建映像-->空白映像**这一步好像是多余的,可以先忽略**
磁盘映像
名称存储为:android.dmg
大小至少200GB,我设置的是250GB,怕后边空间不够了。
格式选择Mac OS扩展,区分大小写
android.dmg
点击存储会在硬盘生成android.dmg的镜像,至于这个镜像用来做什么,现在我也不太懂,只是跟着别人的帖子来操作。 设置文件描述符数量上限
# set the number of open files to be 1024
ulimit -S -n 1024
将上边内容添加到 ~/.bash_profile 中,我也只是跟着照做罢了。
2. 源码下载
下载 repo 工具
mkdir ~/bin
PATH=~/bin:$PATH
cd ~/bin
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
chmod +x repo
打开repo 文件,将其中的REPO_URL改成清华大学的镜像
https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
执行repo sync 下载源码
repo sync -c -j8
这里需要注意,源码下载可能需要几个小时,关掉电脑自动锁屏
直接使用 repo sync下载的话会很忙,所以我使用上边的指令,下载成功了,别问我怎么知道的,说多了全是泪啊。
3. 源码编译
因为我使用的是Mac,所以这里以Mac为例,如果你用的是Linux,请参考 搭建编译环境
创建区分大小写的磁盘映像
感觉上边创建磁盘映像那一步应该放到这,而且大小不是250GB,而是25GB,这个大小不知道够不够,后边再扩展吧,具体步骤可以参考上边的内容。
安装所需的程序包
安装 Xcode 命令行工具:
xcode-select --install
如果你的xcode,没有更新,最好也更新一下,更新之后打开xcode,同意用户协议。
通过 macports.org 安装 MacPorts
这里有坑,MacPorts是在github上的,但是我的电脑访问不了github,可太坑了,在网上搜了一圈没有适合我Mac OS版本的MacPorts,最后找到一个github镜像,完美解决问题。
我用的镜像地址是这个:https://kkgithub.com/kgithub666/kgithub,在这里分享给大家。
MacPorts下载之后安装也有坑,可以先断网再安装,具体见参考6,然后就是修改镜像源地址,这里也不在赘述。
请将以下内容添加到 ~/.bash_profile 文件中:
export PATH=/opt/local/bin:$PATH
通过 MacPorts 获取 Make、Git 和 GPG 程序包:
POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg
这里可选的步骤我没有执行,大家具体可以见参考中的内容。