首先在VMWare上开一个Ubuntu14.04的虚拟机,我配置了4核心【2x2】cpu,4G内存,100G硬盘,下载的Android2.3源码普通压缩后是有大约11GB的,所以要注意预留点空间
然后安装repo工具:
然后安装repo工具:
sudo apt-get install phablet-tools
安装git:
sudo apt-get install git
设置git user.email和user.name:
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
创建一个存放android2.3源码的目录:
mkdir AOSP2.3
切换到工作目录:
cd AOSP2.3
初始化repo【没条件的请选择国内的AOSP镜像】:
repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.1_r1
然后同步repo:
repo sync
同步完成后安装jdk 6:
sudo apt-get install openjdk-6-jdk
查看已经安装的版本:
安装gcc4.4,并设置默认gcc为4.4版本:
sudo apt-get install gcc-4.4
sudo apt-get install gcc-4.4-multilib
sudo apt-get install g++-4.4
sudo apt-get install g++-4.4-multilib
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 40
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 40
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 60
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
安装缺失的包体:
sudo apt-get install flex bison gperf libsdl-dev libesd0-dev build-essential zip curl libswitch-perl libncurses5-dev zlib1g-dev lib32ncurses5-dev
sudo apt-get install flex bison gperf libsdl-dev libesd0-dev build-essential zip curl libswitch-perl libncurses5-dev zlib1g-dev lib32ncurses5-dev
安装完成后:
source build/envsetup.sh
lunch
make
我输入lunch回车后直接回车,选择默认的配置;尝试过make -j4,但是编译不成功,原因不详,不再深究。
遇到的问题:
error:storage size of ‘rilm’isn't known
解决办法:
在源码dalvik/vm/native/dalvik_system_Zygote.c文件的前面添加头部文件#include <sys/resource.h>
感谢https://zhidao.baidu.com/question/558218603.html网友提供的解决办法
最后,success:
配置环境变量:
export PATH=$PATH:~/AOSP2.3/out/host/linux-x86/bin
export ANDROID_PRODUCT_OUT=~/AOSP2.3/out/target/product/generic
更改out文件夹的权限:
chmod +w -R out/
启动模拟器:
emulator
遇到的问题:
SDL init failure, reason is: No available video device
解决办法:
sudo apt-add-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
sudo apt-get update
sudo apt-get install libsdl1.2debian:i386
感谢http://blog.csdn.net/mldxs/article/details/8757106网友提供的解决方法
VMWare+Ubuntu14.04 64位
repo+git+gcc4.4+openjdk6+其他工具链
参考资料:
http://blog.csdn.net/a3676212/article/details/42640639