[转]Mac使用Docker编译安卓源码(编译篇)

以下内容来自初羽小站

最近闲的无聊使用Docker容器编译,所以如果想用Docker跑安卓源码我这边就先要劝退,因为我在物理机跑Android7为2小时,而Docker却是8-9小时,跑内核或者TWRP倒可以

命令

首先开始之前,我们先熟悉命令

基本命令

# 查询本地已有的镜像(注意 镜像编号-IMAGE ID)
$ sudo docker images   
# 输出如下:
REPOSITORY  TAG       IMAGE ID       CREATED       SIZE
ubuntu      16.04     b969ab9f929b   5 weeks ago   188 MB



# 查看本地所有的容器(注意 容器编号-CONTAINER ID)
$ sudo docker ps -a    
# 输出如下:
CONTAINER ID   IMAGE         COMMAND      CREATED       STATUS                  PORTS   NAMES
820fe6f58817   ubuntu:xenial-20171114  "/bin/bash"  42 hours ago  Exited (0) 25 hours ago         epic_bell



# 启动容器
$ sudo docker start <CONTAINER ID> # 使用 CONTAINER ID 启动
# 链接到容器,并获取一个伪终端:
$ sudo docker exec -it <CONTAINER ID> 
# 退出容器
$ sudo docker stop <CONTAINER ID>  # 停止
$ sudo docker kill <CONTAINER ID>  # 杀死运行的容器
这里使用 >> 符号,表示命令在docker的伪终端中执行。在docker的伪终端中使用 # 符号,我们使用 $ 替代。

保存容器修改

例:

$ docker ps

CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS               NAMES
0377f9575f6b        ubuntu:xenial-20171114   "/bin/bash"         24 seconds ago      Up 23 seconds                           distracted_knuth

得到CONTAINER ID,提交

docker commit 0377f9575f6b ubuntu:xenial-20171114

再查看Created Time

# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
0377f9575f6b        ubuntu:xenial-20171114        "/bin/bash"              About an hour ago   Up About an hour  

这里建议编译环境配置完再commit

环境准备和配置

首先我们需要获取个容器 ,建议Ubuntu16.4

docker pull ubuntu:xenial-20171114

部署完以后启动

docker run -it ubuntu:xenial-20171114 /bin/bash

然后我们安装环境,这里建议参考云梦的,Google能搜到
安装完成我们参考1.2将容器打补丁
剩下的基本与正常的Ubuntu一致

分配

你可以参考我的,虽然跑不了Android,但是可以跑Kernel和TWRP
截图

其他

如果你需要挂载目录运行的话,输入

docker run -it -v /Volumes/TeamWin/:/root/android/ ubuntu:xenial-20171114 /bin/bash

这里假定你要挂载/Volumes/TeamWin/到/root/android/目录

编译

就与正常的Ubuntu一样的路线即可

最后

Docker虽然比虚拟机要好,但是配置低的机器会非常差,就与我一样

原文地址https://reallysnow.top/index.php/archives/23/
作者:reallysnow |已授权转载

评论

暂无

添加新评论