我的编译环境Ubuntu12.04x64虚拟机,官网上说虚拟机要16G内存 /swap(Note: It is also possible to build Android in a virtual machine. If you are running Linux in a virtual machine, you will need at least 16GB of RAM/swap and 30GB or more of disk space in order to build the Android tree),担我分了4G内存+8Gswap编译过程基本用不到swap。过程简单记录如下
1.下载源码
#!/bin/bash
echo "======start repo sync======"
repo sync
while [ $? == 1 ]; do
echo "======sync failed, re-sync again======"
sleep 3
repo sync
done
2.环境
#!/bin/bash
echo install sun-jdk6 ...
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:eugenesan/java
sudo apt-get update
sudo apt-get install oracle-java6-installer
echo ok.
echo install libs ...
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z1-dev libgl1-mesa-dev gcc-multilib g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc
echo ok.
3.编译
echo set up enviroments ...
source ./build/envsetup.sh
echo ok.
echo config ...
lunch full-eng
echo ok.
echo build ...
make O=out -j2
echo ok.
补充
2013.8.15 常用编译目标/选项
snod build system.img
TARGET_BUILD_TYPE=release/debug
TARGET_STRIP_MODULE=true/false
-B, --always-make Unconditionally make all targets.
-o FILE, --old-file=FILE, --assume-old=FILE Consider FILE to be very old and don't remake it.
-W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE Consider FILE to be infinitely new.
参考