升级是因为升级svn把旧的11.04搞坏了,懒得去折腾,于是干脆升级到13.04了。
不得不提的是,新版本的svn使用体验有质的飞跃,update一套Android代码需要花费的时间可能只是以前的1/20。。。
环境搭建大部分的内容可以参考:
http://source.android.com/source/initializing.html
1. 安装JAVA6-JDK的事情:
sudo apt-add-repository 'deb http://mirrors.163.com/ubuntu/ hardy multiverse' sudo apt-get update sudo apt-get install sun-java6-jdk sudo apt-add-repository --remove 'deb http://mirrors.163.com/ubuntu/ hardy multiverse' sudo apt-get update
不得不吐槽,自从sun被收购后,安装jdk就一次比一次麻烦。
2. 我是用的amd64架构,所以参考的这个,照做就行:
sudo apt-get update sudo apt-get install -y git gnupg flex bison gperf build-essential sudo apt-get install -y zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev sudo apt-get install -y libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 sudo apt-get install -y libgl1-mesa-dev g++-multilib mingw32 tofrodos sudo apt-get install -y 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
3. 发现make menuconfig时报错:
mconf.c:(.text+0x744): undefined reference to `stdscr'
sudo apt-get install libncurses5-dev
4. Ubuntu 13.04默认不按照gcc,所以需要手动安装:
sudo apt-get install -y gcc sudo apt-get install -y g++
5. 由于Ubuntu13.04中的gcc和g++版本都比较新(4.7),导致有些编译错误产生:
根据编译错误,只需要在对应模块的Android.mk中添加一个CFLAG的编译选项即可:
LOCAL_CFLAGS += -fpermissive
6. 另外,在编译dalvik_system_Zygote.cpp的时候会出现一个错误,只要包含下面这个头文件即可解决:
#include <sys/resource.h>