1.1 Android SDK的安装和系统需求
要安装Android SDK,需要两个系统软件,它们不是Android SDK的一部分:即Java开发工具包(JDK)和Eclipse集成开发环境(IDE)。这两个系统没有作为Android SDK的一部分进行提供是考虑到你可能已在非Android软件的开发中使用它们,或者你的系统中可能已经安装了这两个系统软件,而在一个系统上安装这两个软件的不同版本可能会导致版本冲突。
Android SDK和最近发布的几个版本的JDK和Eclipse IDE都是兼容的。但最好安装这些工具的最新版本。其具体的要求在Android开发者网站的系统需求页面有介绍。
在Android软件开发中,除了Eclipse之外,还可以使用几款其他IDE。在Android文档中给出了可以使用的其他IDE的信息。之所以在本书中选择Eclipse作为IDE,是因为Eclipse对Android SDK工具和其他插件的支持是最好的,而且Eclipse也是用得最广泛的Java IDE,当然有很多Java程序员更喜欢IntelliJ IDEA。
1.1.1 Java开发工具包(JDK)
如果你的系统已经安装了最新的JDK,就不需要再安装它。JDK提供了一些工具,如Java编译器,IDE和SDK使用这些工具来开发Java程序。JDK还包含Java运行环境(JRE),JRE使得如Eclipse这样的Java程序能够在系统上运行。
如果你使用的Macintosh运行的是Android SDK所支持的某个版本的Mac OS X,则在该系统上已经安装了JDK。
如果你使用的是Ubuntu Linux系统,则可以使用它的软件包管理器来安装JDK,安装命令如下:
sudo apt-get install sun-java6-jdk
警告: 如果使用这条命令找不到JDK包,则以使用新立得包管理器(Synaptic Package Manager)来完成JDK的安装。新立得软件包管理器位于菜单栏的“系统”→“管理”(System→Administration)中。选择Settings→ Repositories,在Other Software 选项卡中会显示partner库。
这是本章中少数几个涉及版本号的地方,在这里说明是因为其无法避免。软件包的名称中都会包含JDK的版本号。然而,与本章中所提到的所有其他软件一样,安装时建议参考最新的在线文档来确定自己需要的版本号。
如果你是Windows用户,或者由于某些其他原因,需要从Oracle的网站下载安装JDK,则可以在这里找到它。
下载页将自动检测你的系统,并提供最新版本的下载。下载的安装文件是一个可执行文件。双击运行它即可进行安装。
要确认JDK是否安装正确,可以在命令行输入下面这条命令(在Linux和Max系统的终端;在Windows系统的命令提示符):
javac -version
警告: 如果在系统的PATH中没有包含javac,则需要手工将JDK的bin路径配置到PATH变量中。
这条命令应该会显示出刚刚安装的JDK的版本号。如果安装了Java 6,JDK的版本号为20,则输出结果应该是:
javac 1.6.0_20
输出的具体内容取决于JDK的版本号,其可能和你在这里看到的有所不同。
注意: 在Debian Linux系统(如Ubuntu)上,如果不知道正在运行的是哪个版本的JRE,或者JRE的版本不对,则可以使用如下命令来显示可用的JRE版本,并选择正确的版本:
sudo update-alternatives --config java
1.1.2 Eclipse集成开发环境(IDE)
Eclipse是一个通用的技术平台。它用于创建多种语言的IDE及很多针对特定的SDK定制的IDE。在作为软件开发工具之外,Eclipse还有一些其他用途,如为以Lotus Notes为代表的一些其他应用提供富客户端平台(Rich Client Platform,RCP)。
通常情况下,Eclipse是作为IDE用于编写、测试和调试软件,尤其是Java开发。此外,在很多Java软件开发中还有一些以Eclipse为基础衍生出来的IDE和SDK。具体到本书所要介绍的Android开发,我们可以选用得到广泛应用的Eclipse包和插件来进行开发。下面先来看看如何下载和安装Eclipse包。
在这个页面中列出了最常用的Eclipse包。Eclipse包是多个Eclipse模块的组合,这使得Eclipse更适合于某类软件的开发。通常情况下,Eclipse用户需要先从该页面下载某个版本的Eclipse包,然后再安装一些插件进行定制。当你为安装的Eclipse添加Android开发工具(ADT)时,所遵循的正是这个步骤。Android开发者网站的系统需求页面列出了Android开发所需要的基础软件Eclipse的3种选择:
Eclipse经典版(Eclipse 3.5或更高版本)
面向Java开发者的Eclipse IDE
面向富客户端平台和插件开发者的Eclipse
上述这些版本都可以正常工作,只要不是开发Eclipse插件,选择Eclipse经典版或Java开发版(EE或标准的)都是可以的。笔者使用的一直是Java EE开发版(“EE”表示企业版,即Enterprise Edition),本书截图中的Eclipse就是这个版本。
Eclipse下载网站可以判断出你所用的操作系统的类型并自动为你选出该系统下可用的下载,不过你可能需要指定自己的系统是32位还是64位的。从下载网站下载的文件是一个压缩包(archive)。在安装Eclipse时,首先需要解压这个压缩包,然后把其中的Eclipse文件夹复制到home目录下。在我们的系统上可直接运行的Eclipse可执行程序就在这个目录下面。
警告: 把Eclipse安装在home目录下(或者另一个目录)是非常重要的做法,尤其是在所用的系统上有多个用户账户的情况下。不要使用系统的软件包管理器。Eclipse安装只是众多Eclipse插件组合中的一组。此外,你很有可能需要进一步对Eclipse进行定制。Eclipse插件和更新的管理独立于系统中的其他软件。
由于这些原因,以系统的所有用户都能够使用的命令行方式来安装和使用Eclipse是很难成功的,即使可以通过系统的软件包管理器来完成。为了成功地对Eclipse进行安装,必须按照这里的介绍,在某个用户目录下安装它,并在这个位置启动它。
如果你的系统是Ubuntu或其他Linux发行版,则安装Eclipse时不要直接使用系统自带的库。如果你的Eclipse是按照这种方式安装的,则建议删除它并参照本节介绍的步骤重新安装。在Ubuntu中的Eclipse是Ubuntu所基于的Debian库中自带的。使用系统发行版的软件库中的Eclipse安装包来安装不是太常见,因为大多数时候,这些Eclipse的版本会比
较老。
为了确认Eclipse安装正确并且支持Eclipse运行的JRE包也存在,可在Eclipse目录下运行其可执行的二进制文件译注1。可以考虑为该可执行文件创建一个快捷方式,这样可以更快地启动Eclipse。此时应该可以看到如图1-1所示的欢迎界面。
1.1.3 Android SDK
完成JDK和Eclipse的安装之后,安装Android SDK的先期准备工作就完成了,下面可以安装Android SDK了。Android SDK是一个文件集,它包括库文件、可执行程序、脚本及文档等。安装SDK是指加载目标平台的SDK,并把SDK文件放到home目录下的一个文件夹中。
要安装SDK,从下载与开发系统兼容的SDK包。下载到的是一个压缩包,把压缩包中的文件解压到home目录下。
警告: 如果你使用的是64位版本的Linux系统,则可能还需要安装ia32-libs软件包。
要确认是否需要安装这个软件包,可以运行adb命令(~/android-sdk-linux_*/platform-tools/adb)。如果系统提示无法找到adb命令(虽然在 platformtools目录下确实存在该命令),这表示当前版本的adb命令及一些其他工具,如果不安装ia32-libs软件包很可能就无法运行。安装ia32-libs软件包的命令是:
sudo apt-get install ia32-libs
Android SDK包含一个或两个存放工具的目录:一个是tools,另一个是从版本8开始有的platform-tools。需要在环境变量PATH中添加这两个目录,PATH变量是目录列表,当从命令行中调用可执行命令时,系统会在PATH中设置的目录列表下搜索可执行文件。在Macintosh和Linux系统中, PATH环境变量分别是在home目录下的.profile (Ubuntu)或.bash_profile (Mac OS X)中设置的。在该文件中添加一行内容将SDK下的tools目录添加到PATH环境变量中(PATH目录列表中的不同目录使用冒号分隔)。可以在.profile或.bash_profile文件中添加如下一行内容(把例子中的~/android-sdk-ARCH目录改成你自己的Android SDK安装目录所在的全路径):
export PATH=$PATH:~/android-sdk-ARCH/tools:~/android-sdk-ARCH/platform-tools
在Windows系统中,单击“开始” → 右击“我的电脑”,选择“属性”。然后选择“高级系统设置”,单击“环境变量”按钮。双击系统PATH变量,在该变量的最后加上tools文件夹和platform-tools文件夹所在的路径(不要修改该变量中已有的路径!),两条路径之间用冒号分隔,不要带空格,如下所示:
;C:\android-sdk-windows\tools;C:\android-sdk-windows\platform-tools
完成Windows、Mac或Linux系统上的路径配置后,关闭并重新打开一个命令提示窗口或终端,使它能够加载新的PATH路径配置(在Ubuntu系统中,则可能需要先注销,再重新登录,除非你的终端程序配置是shell登录方式)。
1.1.4 在SDK中添加build target
在构建任何Android应用或者创建一个来尝试构建Android应用的项目之前,都必须首先安装一个或多个build target。为此,需要使用SDK和Android虚拟设备(AVD)管理器。该管理器有助于安装SDK中的软件包,通过这些软件包SDK可以支持多个版本的Android操作系统和不同级别的API。
在Eclipse中安装Android开发插件后(具体安装方法将在下一节描述),就可以在Eclipse开发环境中调用SDK和AVD管理器。该管理器也可以从命令行直接调用,调用方法就是直接执行下面这条命令:
android
图1-2所示就是SDK和AVD管理器的屏幕截图,在安装时选中所有可用的SDK版本。
SDK Platform软件包可以用来构建能够兼容不同级别的Android API的应用。至少应该安装最新(编号最大的)版本,但是当你可能某天想要在较老的版本上运行所构建的应用时,则应该将所有可用的级别的API和Google API扩展包都安装上。此外,也必须安装最新版本的示例应用包和Android SDK平台工具包(Platform-Tools package)。
1.1.5 在Eclipse中安装Android开发工具包(ADT)插件
既然安装完Android SDK、Eclipse及JDK后,就还有一个关键部件需要安装:Android开发工具包(ADT)插件。ADT插件为Eclipse添加Android开发所需的一些特定功能。
ADT插件中的软件支持在Eclipse中编译Android应用,启动Android模拟器,在模拟器上连接到调试服务,编辑Android XML文件,编辑和编译Android接口定义语言(Android Interface Definition Language,AIDL)文件,创建Android应用安装包(.apk文件),以及执行其他特定于Android的任务。
可以使用安装新软件向导(Install New Software Wizard)来下载和安装ADT插件。选择Help →Install New Software启动该向导软件(如图1-3所示)。在Work With字段中输入以下URL,然后按Return或Enter键,安装过程就启动了。
注意: 更多关于使用安装新软件向导安装ADT插件的信息可以在Android开发者网站上找到。
关于该向导工具的Eclipse文档可以在Eclipse文档站点上找到。
在Eclipse的站点列表中添加用于获取新插件的URL之后,在可用的软件列表中你将会看到开发者工具(Developer Tools)这一项。
单击Developer Tools旁边的复选框就可以选中它。单击Next按钮,会弹出一个窗口,询问是否接受该软件许可。选择接受许可,并单击Finish按钮,至此ADT工具包的安装就完成了。之后,还需要重新启动Eclipse以完成安装。
配置ADT插件
距离完成ADT的安装,还差最后一步。安装了ADT插件之后,还需要配置它。安装插件之后意味着,Eclipse的各个部件已经包含了Android软件开发所需的各种特定对话框、菜单命令和其他工具,包括用于配置ADT插件的对话框。通过Window→Preferences(Linux和Windows)或Eclipse→Preferences (Mac)菜单选项启动Preferences对话框。在Preferences对话框的左侧栏中单击Android项。
注意: 第一次访问Preferences对话框,将会弹出一个对话框,询问是否愿意向Google发送使用情况统计数据。做出选择并单击Procecd按钮。
然后,会显示包含Android设置的对话框。在这个对话框接近顶部的位置有一个SDK location文本输入框。这是一个必填项,需要将SDK所在的路径填写进去,既可以直接输入,也可以使用文件浏览器来选择,如图1-5所示。单击Apply按钮。注意,已经安装过的build target,如1.2.4节所描述的,也会列在这里。
至此,Android SDK就算安装完成了。