Docker配置Android编译环境
背景
- 编译目标:32位Android5.1
- 宿主机:64位-Ubuntu Server 18.04
安装docker及相关操作:
详见https://notes.z-dd.online/2021/01/13/Docker%E7%9B%B8%E5%85%B3/
创建编译容器:docker run -itd --name=容器名 --restart=always -v ~/ubuntu-share:/home/share ubuntu:16.04 /bin/bash
配置编译环境
以下操作都是在容器伪终端进行,即使用docker exec
命令进入容器
添加64位系统对32位的支持
- 检查是否已经支持
dpkg --print-architecture # 若支持,输出 amd64 dpkg --print-foreign-architectures # 若支持,输出 i386
- 手动开启支持
dpkg --add-architecture i386
安装相关工具、库
- 系统更新
apt-get update apt-get dist-upgrade
- 安装
ping
、ssh
:apt-get install inetutils-ping ssh
- 安装open-jdk
根据Android版本来确定JDK版本,这里需要编译Android5.1
避免出现错误:add-apt-repository ppa:openjdk-r/ppa apt-get update apt-get install openjdk-7-jdk
add-apt-repository: command not found
apt-get install software-properties-common python-software-properties
- 安装编译Android源码需要的依赖、工具
apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so apt-get install uuid uuid-dev apt-get install zlib1g-dev liblz-dev apt-get install liblzo2-2 liblzo2-dev apt-get install lzop apt-get install git-core curl apt-get install u-boot-tools apt-get install mtd-utils apt-get install android-tools-fsutils
保存镜像
配置好环境之后,保存此容器为一个镜像:
使用$ sudo docker commit -m "xxx" <CONTAINER ID> <TEPO:TAG> #i.e.: #sudo docker commit -m "android-build" 1a61adfb1953 local:v1.0
docker images
查看是否生成镜像
参考
- 使用Docker搭建Android编译环境:
https://blog.csdn.net/u201011221/article/details/86257088 - Docker教程:
https://www.runoob.com/docker/docker-install-ubuntu.html
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 DD'Notes!
评论