要着手android sdk 开发了,结合同事给的环境搭建简单说明,说一下android sdk 编译环境的搭建:
1.添加rpmfusion 源
不知道这个rpmfusion 是个什么东西,之前没有接触,简单搜了一下,看到rpmfusion官网上有其定义,引用一下:
RPM Fusion provides software that the Fedora Project or Red Hat doesn't want to ship. That software is provided as precompiled RPMs for all current Fedora versions and Red Hat Enterprise Linux 5 and 6; you can use the RPM Fusion repositories with tools like yum and PackageKit.
RPM Fusion is a merger of Dribble, Freshrpms, and Livna; our goal is to simplify end-user experience by grouping as much add-on software as possible in a single location. Also see our FoundingPrinciples.rpmfusion 官网地址: http://rpmfusion.org/ ,还有问题的话官网上找答案
(自己看,不翻译了)
rpmfusion 的安装方式:
yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
对安装上的 rpmfusion-nonfree-release-17.0.5-1.noarch rpmfusion-free-release-17.0.5-1.noarch 查看一下安装内容,发现这连个包像说明里介绍的一样,是给yum
添加了一些repo文件(yum 用的源文件)
2.JDK 安装设置
这个不在这里说了,可以查看我之前的一篇文档
3.安装包
下面需要安装一些包,同事直接给的,我有按照命令一条一条试了,发现有些可以安装,有些名称不对,把内容弄上先,再做说明:
yum install axel yum-plugin-fastestmirror
yum install nautilus-open-terminal
yum install gnome-tweak-tool
yum install gnome-shell-theme*
yum install gnome-shell-extension*
yum install ld-linux.so.2
install gnome panel extension
install windowlist externsion
set make version
yum --nogpgcheck --releasever=13 downgrade make
echo "exclude=make" >> /etc/yum.conf
install software for i686(32bit) lib
yum install -y zip curl gcc gcc-c++ flex bison gperf glibc-devel.{x86_64,i686} zlib-devel.{x86_64,i686} ncurses-devel.i686 libX11-devel.i686 libstdc++.i686 libsx-devel readline-devel.i686 libXrender.i686 libXrandr.i686
yum install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libX11-devel.i686
yum install libgle.i686 libgle.x86_64 libgle-devel.i686 libgle-devel.x86_64 yum install mesa-libGL-devel.i686
build uboot
rpm -ivh libiconv-1.9.2-2.i386.rpm
install lzma
yum install lzma
说明:除了加黑的部分,其它都是可以直接执行的,加黑部分算是注释吧;有些只有注释,没说需要安装什么包,这种情况可以在fedora下搜索一下关键字,找一下相关包;
有些包在fedora仓库中直接没有,建议搜索一下,我发现好多是ubuntu下包的名字,于是我用包名中的关键字在fedora库中搜一下相关包;建议碰到没有的包,希望在安装的时候附带把其devel包也装一下;libiconv 这个包手头没有,也没有搜到这个库,iconv查了一下是用来编码转换的,应该被包含到glib库中了;
4.编译android sdk
上面把环境搭建完成,现在可以执行sdk编译了,该sdk自带kernel ,在编译android代码之前需要把kernel先编译出来 ,然后才能编译android代码
这一部分可以参考sdk的开发文档,这里不再详细叙述该部分
5.编译过程报错
android代码编译过程中可能出现一些问题,可能是由于系统软件的版本,或者库或问及缺失引起,建议遇到问题在网上搜一下,你肯定不是唯一一个碰到该问题的人
就我碰到的一个问题列在下面:
Can't locate Switch.pm...(此处省略N字),网上搜一下,解决方式很多,原因很清楚 从fedora16开始的采用的perl中删除了Switch 模块,出错的是这个脚本
make-hash-tools.pl
参考网址:http://code.google.com/p/android/issues/detail?id=22231
没碰到其它问他,记录到这里