Android底层开发技术实战详解
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

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交叉编译工具链。