编译环境的搭建主要分为两个大步骤,在此做以记录
1.基础环境的准备
磁盘:需要6GB 以上(为以后可能会有新版本留了空间)
Linux系统:Ubuntu6.06以上
2.工具的准备
Java环境:JDK1.5以上(最好不要使用1.7,编译时会有很多潜在问题)
命令:sudo apt-get install sun-java6-jdk
如提示找不到软件,可以如下方式添加源再试
$ sudo add-apt-repository "deb http://us./ubuntu/ hardy multiverse"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
GIT:GIT1.5.4以上。如果有现成源码,并且不想通过GIT对源码做以更新,则可以忽略此步
开发包:flex,bison,gperf,libsdldev,libesddev,libwxgtk2.6-dev,build-essential,zip,cuil,valgrind
命令:sudo apt-get install gnupg valgrind flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curllibncurses5-dev zlib1g-dev
常见问题:
1.注意如果是安装的11.04以后的版本,GCC的版本Ubuntu默认会比较高,编译会出现
rameworks/base/libs/utils/RefBase.cpp: 在成员函数‘void android::RefBase::weakref_type::trackMe(bool, bool)’中:
frameworks/base/libs/utils/RefBase.cpp:483:67: 错误: 将‘const android::RefBase::weakref_impl’作为‘void android::RefBase::weakref_impl::trackMe(bool, bool)’的‘this’实参时丢弃了类型限定 [-fpermissive]
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/RefBase.o] 错误 1
解决方法:更换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++