使用MacOS 10.14.6 Android 3.5.2 阅读Android O源码
创建大小写敏感磁盘
首先在磁盘工具中添加需要存储Android源码的宗卷,注意需要选择区分大小写,建议大于200G
安装repo、下载源码
android源码有数百个仓库,使用git管理的话不方便,所以官方编写了repo作为管理工具,用于过个git仓库间代码的同步
在当前目录下创建bin目录,用于安装repo
mkdir ~/bin
安装repo工具
curl -sSL 'https://gerrit-googlesource.proxy.ustclug.org/git-repo/+/master/repo?format=TEXT' |base64 -d > ~/bin/repo
给repo执行权限
chmod a+x ~/bin/repo
将repo加入环境变量
如果使用zsh
echo 'export PATH=~/bin:$PATH'>>~/.zshrc
使用mac自带终端
进入指定磁盘(上面新建的大小写区分的那个)
cd /Volumes/AndroidO
始化 Android源码 仓库
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-10.0.0_r17
下载源码
repo sync
注:此过程较久要下好几十G的内容,会耗时比较久
编译源码,导入Android Studio
编译过程中建议使用bash命令切换到Mac控制,因为后面编译时如果遇到错误,需要用到的mmm命令无法在zsh中执行
先在命令行中输入’bash’切换到mac自带终端
进入源码所在的目录
cd /Volumes/AndroidO
设置编译所需变量
source build/envsetup.sh
设置编译对象架构(这里可以选其他的任何一种,对于后面阅读源码无影响)
lunch aosp_x86_64-eng
开始编译
m -j8
注:j8指的是同时进行编译的任务数,视cpu能力强弱调整,编译会产生100G以上的文件,可能需要数个小时,需要耐心等待
为 Android源码 生成 Android Studio 工程配置文件
development/tools/idegen/idegen.sh
注:如果这里提示idegen.jar找不到,需要先执行 ‘ mmm development/tools/idegen/ ‘来生成idegen.jar,如果提示mmm命令未找到,说明没有切换到系统终端,参照第一条说明切换
生成结束后,使用Android Studio打开android.ipr 文件即可导入工程。