images | desc | other |
---|---|---|
android-dev-eclipse | 基于 Ubuntu 的 Android 项目开发编译环境。 | eclipse项目打包apk比较复杂 |
android-dev-studio | 基于 Ubuntu 的 Android 项目开发编译环境。 | studio打包,需要管理依赖 |
android-source | 基于 Ubuntu 的 Android 系统源码编译。 | |
启动 docker 环境
docker-compose up -d
进入容器编译项目
aapt package -f \
-M AndroidManifest.xml \
-I "$ANDROID_HOME/platforms/android-N/android.jar" \
-S res/ \
-J gen/ \
-m \
android 系统源码编译,android源码特别大,所以不要放到镜像中打包,所以本质上本镜像就是一个 Ubuntu附带gcc等编译工具而已。
系统要求
1、启动编译系统(略),下面通过docker-compose启动。
docker run --name aosp6 -it android-source /bin/bash
2、下载源码,启动编译系统
下载源码可能耗时一两天,大概50G,解压80G,在aosp还原则会120G左右。
sh tools/download_android_repo.sh
这个可以直接插上已经下载好Android系统源码的磁盘,然后把指定目录挂载到docker精选即可。
cd xx/aosp
docker-composer up -d
3、编译源码
sh tools/build_src.sh
4、测试
编译后,在 build会有对象的系统镜像文件,最好真机中刷机体验。或者虚拟机中更加镜像创建,这个时候就需要可视化环境,也就不能在docker中跑了,windows系统中安装好emulator,不是某某模拟器,某某模拟器自带镜像:
emulator -kernel ./kernel/goldfish-android-3.4/arch/x86/boot/zImage &
下载源码
采用repo工具同步多个git项目:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
# 创建一个空目录用来保存android源代码
mkdir ~/aosp
cd ~/aosp
# 指定从清华的镜像,只下6.0.1版本Android
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-6.0.1_r46
#同步源码树,并发设置为8,不要太大
repo sync -j8
构建源码
source build/envsetup.sh
export USER=$(whoami)
lunch aosp_hammerhead-eng
make -j16