android_7.1.1_r27-----mark前包大小:85G左右
搭建编译环境
openJdk is needed !我自己平时开发用的是JDK1.8,这里就要安装一下openjdk,并且更改环境变量。
下载jdk:
http://ubuntuhandbook.org/index.php/2015/01/install-openjdk-8-ubuntu-14-04-12-04-lts/
安装jdk
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac
java -version
方法2:
下载安装
配置jdk:
export JAVA_HOME=/home/zhaolixiang/java/jdk1.8.0_151
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/bin/tools.jar:$JRE_HOME/bin
export ANDROID_JAVA_HOME=$JAVA_HOME
但是如果你是刚安装完Ubuntu,那么就可以跳过此步骤,Ubuntu自带openjdk
- required package
sudo apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip
因为源码包含C 和 C++代码,gcc为必须
sudo apt-get install gcc
- Setting up ccache , 使用ccache
ccache是一个编译器ccache用于C和C++。可以让构建更加快速。在源代码的根目录处,做如下操作:
export USE_CCACHE=1
export CCACHE_DIR=/mark/.ccache
prebuilts/misc/linux-x86/ccache/ccache -M 100G</mark
建议的cache大小为50-100G
可以使用如下操作来查看使用的ccache大小
$watch
-n1
-d
prebuilts/misc/linux
-x86
/ccache/ccache
-s
若使用Ice Cream Sandwich(4.0.x)或更老的版本,需要用prebuilts来代替prebuilts/misc
2 开始编译 Building the System
使用make构建,GNU make可以通过使用-jN参数来处理并行任务。此处的N,根据所用的计算机的硬件的核数来指定,一般N指定为CPU核心的1到2倍。例如我的CPU是i5-6500(CPU4个核,每个核2个线程),那么最优的构建是使用make -j8。
make -j8
3 build successfully
#### make completed successfully (01:04:27 (hh:mm:ss)) ####
- 目录结构如下:
7 9月 24 00:36 android-info.txt
62 9月 24 00:22 build_fingerprint.txt
4.0K 9月 24 10:34 cache
66M 9月 24 12:26 cache.img
70K 9月 23 23:51 clean_steps.mk
38 9月 24 00:22 current_build_config.mk
4.0K 9月 24 10:41 data
4.0K 9月 24 09:51 dex_bootjars
4.0K 9月 24 01:33 gen
1.4K 9月 24 12:25 hardware-qemu.ini
70K 9月 24 11:00 installed-files.txt
1.1M 9月 24 00:30 module-info.json
4.0K 9月 24 11:00 obj
38 9月 23 23:51 previous_build_config.mk
1.5M 9月 24 10:40 ramdisk.img
4.0K 9月 24 10:39 recovery
4.0K 9月 24 10:39 root
4.0K 9月 24 10:39 symbols
4.0K 9月 24 10:50 system
1.8G 9月 24 11:01 system.img
550M 9月 24 10:58 userdata.img
550M 9月 24 12:41 userdata-qemu.img
~/aosp/out/target/product/generic$