作为android平台开发的人员,编译源码是一项必须要掌握的技能,因此分享下android源码下载及编译执行全流程。
- 首先想到的是去google android官网下载源码,不过需要翻墙支持,虽然最后也能实现下载,但是毕竟代价大了一点,因此在国内清华官网https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/找到了一个源码镜像,方便了很多
- 需要使用repo工具同步git源码库,并且需要下载指定的android版本,所以采用了传统的初始化方法:
建立工作目录:
mkdir WORKING_DIRECTORY cd WORKING_DIRECTORY
初始化仓库:
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
如果提示无法连接到 gerrit.googlesource.com,请参照git-repo的帮助页面的更新一节。
即
repo的运行过程中会尝试访问官方的git源更新自己,如果想使用tuna的镜像源进行更新,可以将如下内容复制到你的
~/.bashrc
里export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
并重启终端模拟器。
如果需要某个特定的 Android 版本(列表):
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.0.1_r1
同步源码树(以后只需执行这条命令来同步):
repo sync
- 不出意外的话,经过上面的步骤大概4到5个小时就能同步到本地,下面开始介绍源码的编译
-
进入解压后的aosp文件夹,执行下面的命令
1、source build/envsetup.sh
2、lunch 选择第一项
3、make -j8
4、emulator &
ps:编译过程中会遇到很多未安装的命令或者库文件,依次安装即可