编译环境:虚拟机 Ubuntu14.04
源码版本4.4.3
首先看下编译4.4.3源码需要最低配置
编译后总大小为50G, 所以虚拟机硬盘至少预留60G。建议配置成70G。
关于编译时的内存,我在分配3个G的时候编译external/chromium_org 时候总是内存不够,被强制kill掉。当分配4个G的时候 make可以编译通过。至于make -j* 没有试过。
suxiaolin@ubuntu:~/WORKING_DIRECTORY$ du -h --max-depth=122G ./out
12M ./system
51M ./developers
36M ./dalvik
128K ./abi
17M ./art
15M ./docs
424M ./tools
23M ./bionic
1.2G ./frameworks
89M ./ndk
216K ./libnativehelper
309M ./packages
14M ./build
124M ./device
33M ./sdk
14G ./.repo
222M ./development
4.4M ./bootable
428M ./cts
3.2G ./external
8.8G ./prebuilts
47M ./hardware
916K ./pdk
52M ./libcore
50G .
好,知道虚拟机的最小配置了,现在可以开始下载源码了。近来源码的访问总是被屏蔽掉。之前还可以修改hosts来下载,现在也是不行了。最总解决办法,花钱买个vpn吧。也有免费的vpn,但总是下载一段时间就会给断掉,需要重新连接。比较麻烦。
1、配置下载环境 请参考https://source.android.com/source/initializing.html
但官网中关于installing required packages 只有12.04的
可以参考如下内容:
$ sudo apt-get install git flex bison gperf dpkg-dev build-essential curl libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dri:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
2、下载请参考https://source.android.com/source/downloading.html 没什么好说的。
3、编译运行参考https://source.android.com/source/building-running.html
运行模拟器的时候可能会遇到emulator: command not found解决:1、$ source build/envsetup.sh2、$ lunch aosp_arm-eng3、$ emulator或是这种警告:emulator: WARNING: system partition size adjusted to match image file (550 MB > 200 MB)
解决:1、$ emulator -partition-size 600
最总原生态健康品出来了: