编译Android,需要设置代码缓存、输出文件夹和编译环境。
- 代码缓存是指在编译过程中使用额外的硬盘空间,缓存编译所产生的的目标文件。当使用make clean命令清理编译垃圾后,代码缓存可以大大提高二次编译的速度。
- 设置方法:将以下代码插入~/.bashrc文件末尾
export USE_CCACHE=1
默认的代码缓存在Home目录的 .ccache文件夹中,要改变此设置,可以在上面的代码后面添加:
export CCACHE_DIR=新的代码缓存目录
- 编译输出文件夹:默认在out/文件夹下面。其中out/host/文件夹存放编译完成的SDK。out/target/文件夹存放编译完成的设备代码,即ROM文件。输出文件夹位置修改:~/.bashrc文件末尾插入语句:
export OUT_DIR_COMMON_BASE=输出文件夹
打开一个新终端,或者执行~/.bashrc命令,完成环境变量的设置。
- 设置方法:将以下代码插入~/.bashrc文件末尾
-
编译Android源码
-
#设置编译环境 source build/envsetup.sh #选择你要编译的目标 #xxx-yyy-zzz: xxx为目标设备;yyy为目标平台,即处理器型号或设备型号; #zzz为编译选项(user,userdebug,eng) lunch #编译 #X为同时使用的进程数。编译器占用的理论最大CPU资源为“X/CPU线程数” #双线程处理器:X 一般取2~4 #4线程处理器: X 一般取4~6 #8线程处理器: X 一般取8~12 make -jX
ROM文件位于out/target/product/设备型号文件夹。如果编译目标是aosp_arm-zzz, 可以运行emulator命令启动模拟器
-
-
编译SDK
source build/envsetup.sh lunch make -jX sdk
编译得到的文件位于out/host/设备型号/sdk/android-xxx文件夹中。sdk可供Android应用开发者使用。