2.1 搭建Linux开发环境和工具
因为Android是基于Linux的,所以作为底层应用的Android驱动开发需要在Linux环境下进行。在进行开发之前很有必要讲解搭建开发环境的知识,接下来将简单介绍搭建Linux开发环境的方法,其中包括安装开发工具的知识。
2.1.1 搭建Linux开发环境
在Linux环境下开发Android程序时需安装相关的包并配置Java环境,具体流程如下所示。
1.安装包
如果是在Ubuntu主机上,则需要安装下面的包。
sudo apt-get install git-core sudo apt-get install gnupg sudo apt-get install flex sudo apt-get install bison sudo apt-get install gperf sudo apt-get install libsdl-dev sudo apt-get install libesd0-dev sudo apt-get install build-essential sudo apt-get install zip sudo apt-get install curl sudo apt-get install libncurses5-dev sudo apt-get install zlib1g-dev
2.安装Java环境JDK
sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts sun-java6-jdk
Android的官方文档说,如果使用sun-java6-jdk可能会出问题,需要用sun-java5-jdk。笔者经过测试发现,如果仅仅用make(make不包括make sdk),使用sun-java6-jdk是没有问题的。但是如果运行make sdk就会发生问题,也就是说在使用“make doc”命令这一步骤时出问题,它需要的javadoc版本为1.5。
所以在此建议读者,在安装sun-java6-jdk后最好再安装sun-java5-jdk,或者只安装sun-java5-jdk。笔者的计算机中,sun-java6-jdk和sun-java5-jdk都安装了,并且只修改了javadoc.1.gz和javadoc。因为只有这两者是make sdk用到的。这样除了javadoc工具使用1.5版本外,其他的都使用1.6版本。命令如下:
sudo apt-get install sun-java5-jdk
然后还需要修改javadoc的link。
cd/etc/alternatives sudo rm javadoc.1.gz sudo ln -s/usr/lib/jvm/java-1.5.0-sun/man/man1/javadoc.1.gz javadoc.1.gz sudo rm javadoc sudo ln -s/usr/lib/jvm/java-1.5.0-sun/bin/javadoc javadoc
2.1.2 设置环境变量
在Linux环境下开发Android时需要设置环境变量,命令如下所示。
vim ~/.bashrc
然后需要在.bashrc中新增或整合PATH变量,例如和Java程序开发/运行相关的一些环境变量。
JAVA_HOME=/usr/lib/jvm/java-6-sun JRE_HOME=${JAVA_HOME}/jre export ANDROID_JAVA_HOME=$JAVA_HOME export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin export JAVA_HOME; export JRE_HOME; export CLASSPATH; HOME_BIN=~/bin/ export PATH=${PATH}:${JAVA_PATH}:${JRE_PATH}:${HOME_BIN}; #echo $PATH;
最后不要忘记同步上述变化,命令如下所示。
source ~/.bashrc
2.1.3 安装编译工具
在Linux环境下开发Android程序时必须安装编译工具,例如git和repo。其中repo的作用十分重要,功能是更新Android源代码,是一种能够调用git的封装工具。
安装repo的流程如下所示。
step 1 创建~/bin目录,用来存放repo程序。
$ cd ~ $ mkdir bin
step 2 将目录添加到环境变量PATH中,然后下载repo脚本并使其可执行。
$ curl http://android.git.kernel.org/repo>~/bin/repo $ chmod a+x ~/bin/repo
另外在编译Android系统时,需要使用编译主机的工具GCC。对于编译目标主机文件,Android在prebuilt目录中集成了GCC交叉编译工具链。