(原写于某blog,别人的空间弄着真麻烦,怕过期拷贝过来,你懂的⊙﹏⊙b)
1.1 编译环境
操作系统:64位ubuntu11.10,由于条件的限制我是在虚拟机中安装64位linux操作系统的,之前使用32位的编译遇到的问题较多。1.2 建立编译环境
1.2.1 安装JDK6.0
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
1.2.2 安装需要的包
$ 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 lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils
执行:
$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so这里有个需要注意的地方是,由于ubuntu11.10的gcc和g++版本太高了,所以需要将其换成一个低一点的版本4.4,执行下面的命令:
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4
sudo rm -rf /usr/bin/gcc /usr/bin/g++
sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc
sudo ln -s /usr/bin/g++-4.4 /usr/bin/g++
同时还需更新g++-multilib,执行:
sudo apt-get install g++-4.4-multilib
1.3 下载android源码
在工作目录中创建一个文件夹用于存放我们的android目录:
执行:
mkdir android
cd android
mkdir bin
cd bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > repo
建立存放android源代码的目录source,并初始化版本
执行:
sudo chmod a+x repo
cd ../
mkdir source
cd source
../bin/repo init –u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
成功的话会要求你输入用户名和邮箱,就填写你的google帐户就好了。
完成后,在终端输入../bin/repo sync就可以开始下载了。
1.4 编译并在模拟器上运行android
1.4.1 初始化环境
执行:
$ source build/envsetup.sh
1.4.2 选择编译目标
具体参数可参考google的编译文档(其实只要按照google的文档来,除了一些小问题比如gcc的版本问题等,基本是能编译通过)。这里我选择了在emulator上的完全编译,即
$lunch full-eng
配置好了执行:make即可开始编译,根据你机器配置好坏时间长短不一,不过都算比较久……
1.4.3 运行android
编译完之后会在out/target/product/generic目录下生成system.img ramdisk.img userdata.img三个镜像文件。
其中emulator工具就在out/host/linux-x86/bin目录下,所以执行vim ~./bashrc设置环境变量,让emulator命令能执行:
export ANDROID_PRODUCT_OUT=~/Android/source/out/target/product/generic ANDROID_PRODUCT_OUT_BIN=~/Android/source/out/host/linux-x86/bin exportPATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}:${ANDROID_PRODUCT_OUT};
同步变化并启动模拟器:
$ source ~/.bashrc $ cd ~/Android/source/out/target/product/generic $ emulator -system system.img -data userdata.img -ramdisk ramdisk.img
加载上我们所编译出来的系统文件,终于出现了期待已久的模拟器:
![](https://img-my.csdn.net/uploads/201206/03/1338721610_4736.png)
看到了吧!!4.0还是挺华丽的……