最近换了M1 Mac,后面打算研究Android源码,但是因为arm架构CPU的Mac编译Android源码有什么问题,网上的资料其实并不多,找了好多资料,最后终于编译成功,在这里记录一下,希望对需要的朋友有帮助。
首先说一下我的硬件和软件配置:
- 14寸MacBook Pro,处理器M1 Pro,内存16GB
- 系统版本:macOS Monterey12.1
因为手头有一台Pixel 2,最高可以刷Android11,所以我下载编译的是Android 11源码。
首先就是下载源码,这部分应该没什么问题,网上的教程很多,下面简单说一下步骤。
一、单独创建硬盘空间
因为Mac默认的磁盘环境不区分大小写,git不支持此类文件系统,所以Mac下载源码需要单独的创建一块空间,使用Mac上的磁盘工具即可完成。
打开磁盘工具以后,新建空白映像
新建的时候最重要的就是这个磁盘的格式,一定要选对,选:Mac OS扩展,区分大小写,另外就是大小,尽量给大一点,因为编译的时候需要比较大的磁盘空间。
我下载Android11源码,编译完成以后占用了190G,我创建的时候给了200G,刚刚够用,Android版本越新占用空间越大。
二、下载Repo工具
这里要说一下,Android的的源码时通过repo工具管理的,所以要下载Android源码首先要下载repo工具,然后再通过repo工具来下载源码。
就是下面这个
1. 建立一个目录用来放repo工具,同时添加到path目录中
$ mkdir ~/bin
$ PATH=~/bin:$PATH
2. 下载Repo工具,然后设置Repo可执行权限
这一步需要设置镜像源,我用的是清华的镜像。
$ cd ~/bin
$ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
$ chmod a+x ~/bin/repo
执行完上面这不,在创建的bin目录中有一个叫repo的文件打开它,将下图中的地址修改成清华源路径。
REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
三、开始下载源码
以上repo工具即配置完毕,下面开始下载源码。
进入到上面创建的硬盘空间,我创建的名字是ASOP,你根据自己创建的名字来。
cd /Volumes/ASOP/
进入到以后,安装git,配置用户名和密码
$ sudo apt-get install git
$ git config --global user.name "zhangxx"
$ git config --global user.email "100@qq.com"
名字和邮箱可以随便写,都没有关系。
然后通过repo工具确定要下载的Android源码分支,如下:
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-11.0.0_r4
确定完以后,通过repo工具下载源码,即下载到当前目录。
repo sync
省下的就是耐心等待。。。。
大概两三个小时以后(视网速而定),出现
repo sync has finished successfully.
源码下载成功。
以上就是下载源码的过程,本来想一篇写完编译的流程,但是篇幅太长也不太方便看,编译的过程就下一篇文章再写吧