李满玲
摘 要:针对Android系统开发需求,分析Android开发环境的组成,介绍Android代码环境和Kernel代码环境的搭建,为Android系统开发提供可供参考的建议。
关键词:Android;环境配置;系统开发
Android开发环境主要包括三个部分,首先是编译环境,Google提供专门的Android系统开发包SDK包,配合Eclipse可以进行应用层包的编译[1],选择在PC上安装Linux系统Ubuntu;其次是代码环境,通过Android官方来获得Android全代码和Kernel代码;最后是验证环境,首先需要一部Android手机,选择开发需要的软件包替换手机相关的软件包。
一、Android代码环境的搭建
1、安装Ubuntu上相关下载工具
通过Ubuntu从Android官网上下载代码需要一些命令工具,而这些命令工具是Ubuntu系统默认没有,这些需要安装[2],安装curl:sudo apt-get install curl,安装 git-core:sudo apt-get install git-core。
2、安装repo
Repo是一个版本控制工具,大多开源网上发布的版本都可以通过Repo从网上下载源码进行适时更新。首先,在用户目录下创建一個bin目录,将git软件下载安装在此目录中,并添加到环境变量中。其次,下载repo脚本并修改权限为可执行:$curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo> ~/bin/repo;$chmod a+x ~/bin/repo。
3、初始化repo
首先,创建一个保存android源码的目录,修改为最大权限,并进入到该目录下。操作命令:$ mkdir /opt/android4.2;$ sudo chmod –R 777 /opt/android4.2;$ cd /opt/android4.2。其次,初始化repo工具,并选择要下载的分支:$ repo init -u https://android.googlesource.com/platform/manifest;$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.2_r1。
4、添加代码地址
操作命令:$ vim /etc/hosts。增加下面内容,并保存:74.125.31.82 www.googlesource.com;74.125.31.82 android.googlesource.com;203.208.46.172 cache.pack.google.com;59.24.3.173cache.pack.google.com。
5、下载和编译源码
下载命令:$ repo sync;编译全代码:$ make j4,这样会在当前目录下生成一个out文件夹,编译所有的库文件,可执行包都在里面。单独编译包在终端中执行:$ source build/envsetup.sh或$.build/envsetup.sh,之后执行指向你要编译的模块:$ mmm path。
二、kernel代码环境的搭建
Android系统基于Linux kernel,但Android源码中没有包括kernel代码,Android源码发布后会同时发布一个kernel的patch包,直接下载使用这些代码。
1、下载源码
执行命令:$ mkdir kernel;$ cd kernel;$ git clone https://android.googlesource.com/kernel/goldfish.git;
$git checkout remotes/origin/android-goldfish-3.4。等待其运行完成,在kernel目录下有一个goldfish目录,Linux内核代码就在这里。
2、配置交叉编译工具
导出交叉编译工具目录到$PATH环境变量中去,交叉编译是指在一个平台上生成另一个平台上的可执行代码。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。通过PC上的Linux系统通过交叉编译工具生成Android手机系统上能使用的执行文件。
3、配置内核并编译
内核编译环境:$ export ARCH=arm;$ export SUBARCH=arm;$ export CROSS_COMPILE=arm-eabi-,然后配置内核$ make goldfish_defconfig,goldfish_defconfig是内核的配置文件,里面都是内核的配置参数最后编译:$ make,它编译出来真正可以执行的文件只有一个,在kernel/arch/arm/boot下面,我们只要修改了内核,就需要把整个内核做替换。
三、结束语
本文分析了Android系统开发环境的配置需求,介绍了Android代码环境搭建和Kernel代码环境的搭建的基本操作步骤。下一阶段,我们将进行Android系统框架的设计工作。(作者单位:湖南汽车工程职业学院信息工程系)
参考文献:
[1] 刘丽霞,庄奕琪,景鑫,李聪.嵌入式USB蓝牙设备驱动程序的实现[J].微计算机信息,2008,24(14):34-44.
[2] 严新忠,郭建川,贺运萍,YAN Xin-zhong,GUO Jian-chuan,He Yun-ping.基于HCI状态机的蓝牙无线通信系统模型[J].自动化与仪表,2008,23(6):43-45.