原标题:摆脱主机环境限制,随心所欲编译Android源码
喜欢就 关注我们吧!
使用docker编译aosp源码
google官方推荐的安卓编译源码为14.04,由于目前的工作环境为macosx环境或者高版本的ubuntu环境,直接在本机编译会有很多问题,不过借助docker这个强大的工具可解决这个烦恼
安装docker
google搜索安装方法即可
docker更换国内镜像源
为了加速docker镜像的拉取,可以设置国内镜像源,例如设置成网易的镜像源方法如下:
- 创建 /etc/docker 目录
sudo
mkdir -p /etc/docker
- 在 /etc/docker 目录下创建 daemon.json 文件,写入以下内容
{
“registry-mirrors”: [ “http://hub-mirror.c.163.com”]
}
- 重启docker服务
sudo
systemctl daemon-reload
sudosystemctl restart docker
创建编译镜像
由于aosp源码推荐在ubuntu 14.04版本上编译,所以我们基于14.04来创建镜像。这里准备使用5.1.1版本的源码,所以需要安装jdk7。
构建镜像的细节详见 Dockerfile。
使用如下命令创建镜像
dockerbuild -t aosp-build:1.0.0 .
查看创建成功的镜像

使用镜像编译源码
- 下载aosp源码 推荐去清华镜像站下载 打包好的源码 即可,也可以使用repo下载指定版本,具体详见 网站文档 。
- 假设aosp源码下载路径为 /home/user/aosp,使用aosp-build镜像创建容器,并挂载aosp源码路径
docker
run -itd –name aosp-build -v /home/user/aosp:/home/aosp aosp-build:1.0.0
dockerexec -it aosp-build /bin/bash
- 进入 /home/rom 目录,直接编译源码即可
.
build/envsetup.sh
lunch
make-j8
公众号聊天窗口回复关键词“干货”,查看更多技术干货内容
我眼中的分布式系统可观测性 2021-05-01
解Bug之路-中间件”SQL重复执行” 2021-04-30
从源码和日志文件结构中分析Kafka重启失败事件 2021-04-29
责任编辑: