关于最新6.0的代码的编译,总结如下:
代码下载
原生代码百度网盘有人分享,可以搜索下,repo实在是太慢了。
编译环境
- 1.操作系统
google推荐使用的操作系统为ubuntu 14.04 64位系统。可以参考前面的一篇文章安装windows和ubuntu双系统。
安装完ubuntu后,由于默认Ubuntu的sh为dash,需要修改为bash,执行下面的命令,选择否即可。
sudo dpkg-reconfigure dash
- 2.安装jdk
android M在ubuntu上需要安装openjdk 7,执行,
sudo apt-get update
sudo apt-get install openjdk-7-jdk
如果有多个java版本,需要用以下命令选择一下,如果没有其他选项的java程序,则无需做修改。
sudo update-alternatives --config java
sudo update-alternatives --config javac
- 3.安装编译依赖的其他应用
14.04版本的64位ubuntu,需要安装以下软件(其他版本的ubuntu需要的软件不同),
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \
libgl1-mesa-dev libxml2-utils xsltproc unzip
4.其他优化选项
为了提高rebuild的速度,可以设置ccache,在home目录下的.bashrc中添加下面的命令export USE_CCACHE=1
下载完代码后,你需要执行一次下面的命令,将ccache设置为50G
prebuilts/misc/linux-x86/ccache/ccache -M 50G
android 6.0默认使用jack进行编译,貌似jack有对rebuild的优化,未深入研究ccache和jack,后续有接触再完善。
编译
首先执行
source ./build/envsetup.sh
然后执行lunch,选择自己需要的版本,
lunch
最后执行make,-j为同时编译的线程数,一般google推荐这个数字为2倍的cpu个数再加上2,比如4核,就是10。
make -j10
关于cpu个数,可以用下面命令查看,
cat /proc/cpuinfo