一,初始化编译环境
android2.2及以下版本需要安装JDK5,android2.3及以上版本需要安装JDK6,JDK7是不支持的会报错。
Ubuntu12.04 已经不支持直接用 $ sudo apt-get install sun-java6-jdk 安装jdk6了。
Oracle公司的官方下载链接: 官网下载JDK6
我这里选择了Linux x64 版本的 jdk-6u37-linux-x64.bin
建立安装目录,并复制安装文件jdk-6u37-linux-x64.bin到安装目录/opt/java
$ sudo mkdir /opt/java $ sudo cp -r ~/下载/jdk-6u37-linux-x64.bin /opt/java
为jdk-6u37-linux-x64.bin增加执行权限
$ sudo chmod u+x /opt/java/jdk-6u37-linux-x64.bin
执行jdk-6u37-linux-x64.bin,将JDK6的相关文件解包至jdk1.6.0_37目录下
$ sudo ./jdk-6u37-linux-x64.bin
设置jdk环境变量
$ sudo gedit ~/.profile
把jdk安装路径加入到PATH,如下
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:/opt/java/jdk1.6.0_37/bin:$PATH"
fi
测试jdk?
执行java -version可以看到当前JDK的版本信息,表示安装成功。显示如下:
$ java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)
2,在Ubuntu 12.04 上需要安装以下包:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
二下载 Android 4.2 源码
建立~/bin/路径并将其加入到PATH
$ mkdir ~/bin $ PATH=~/bin:$PATH
下载 Repo 并为其添加执行权限
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo $ chmod a+x ~/bin/repo
建立源码目录并进入
$ mkdir WORKING_DIRECTORY $ cd WORKING_DIRECTORY
运行
$ repo init -u https://android.googlesource.com/platform/manifest
下载 Android 4.2 这个分支的源码
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.2_r1
6、开始下载源码
$ repo sync
支持断点续传,可以俺 Ctrl + Z 键暂停,进源码目录,
$ repo sync
继续。
三 设置 ccache (能加快编译速度)
打开 ~/.bashrc文件,加入一下
设置ccache 变量,1表示使用ccache 编译缓存
export USE_CCACHE=1
设置ccache目录
export CCACHE_DIR=<path-to-your-cache-directory>
设置 ccache 允许使用空间大小,Google 官方推荐50G,我实际才用了不到5G
prebuilts/misc/linux-x86/ccache/ccache -M 50G