android.md 2.4 KB

Android

images desc other
android-dev-eclipse 基于 Ubuntu 的 Android 项目开发编译环境。 eclipse项目打包apk比较复杂
android-dev-studio 基于 Ubuntu 的 Android 项目开发编译环境。 studio打包,需要管理依赖
android-source 基于 Ubuntu 的 Android 系统源码编译。

usage

  1. 启动 docker 环境

    docker-compose up -d
    
  2. 进入容器编译项目

    aapt package -f \
    -M AndroidManifest.xml \ 
    -I "$ANDROID_HOME/platforms/android-N/android.jar" \
    -S res/ \
    -J gen/ \
    -m \
    
    

android-source

android 系统源码编译,android源码特别大,所以不要放到镜像中打包,所以本质上本镜像就是一个 Ubuntu附带gcc等编译工具而已。

系统要求

  • docker中Ubuntu18
  • 内存16G
  • 磁盘200G SSD

使用

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 &

android 源码构建

下载源码

采用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