天天看点

《Android开发秘籍(第2版)》——第1.7节软件开发工具包(SDK)

本节书摘来自异步社区《android开发秘籍(第2版)》一书中的第1章,第1.7节软件开发工具包(sdk),作者 【美】ronan schwarz , phil dutson , james steele , nelson to,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.7 软件开发工具包(sdk)

android开发秘籍(第2版)

android sdk由平台、工具和示例代码以及开发android应用所需的文档组成。它被构建成为java开发工具包的附加组件,并包含一个面向eclipse集成开发环境(ide)的集成插件。

1.7.1 安装和升级

这个包是一个预先配置好的zip压缩文件,我们需要做的全部事情就是将包解压,并启动eclipse程序。启动后,程序将询问建立工作区(workspace)的路径,选定后,将出现一个界面,可以帮助我们建立新工程或者学习关于android开发的更多知识。

对于那些不愿下载整个包,而宁愿只安装他们需要部分的开发者而言,下面的概要给出的一般过程阐明了最常见的安装步骤。应当在开发环境的主机上执行这些步骤。

(1)安装java开发包(例如,要使用android 2.1或更高版本,需安装jdk 6.0;jdk 5.0则是android开发所要求的最低版本)。

(2)安装eclipse经典版(例如4.2.1版)。在windows下,只需将下载包解压到某个正确路径就可使用。

(3)安装android sdk初始包(starter package),比如r21版。在windows下,同样只需将下载包解压到一定的路径即可使用。

(5)在eclipse中选择window→preferences...(在mac系统下,则选择eclipse→preferences),然后选择android菜单项。找到你解压android sdk的路径并选择apply。

(6)在eclipse中选择window→android sdk and avd manager→available packages菜单项,并选择需要安装的api(例如android sdk文档、sdk平台、google api以及api 17)。

(7)仍然是在android sdk and avd manager菜单中,创建一个android虚拟设备运行模拟器,或者安装usb驱动在连接到电脑上的真实手机上运行应用。

(8)在eclipse中选择run→run configurations...为每个android应用程序创建一套新的运行配置(或者与此类似地,创建一套调试配置)。android junit测试也可以在此处进行配置。

至此,开发环境应该配置成便于android应用的开发,并让其在模拟器或真实的android设备上运行了。对sdk进行版本更新也是件容易事,只要在eclipse中选择help→software updates...,然后挑选适当版本即可。

1.7.2 软件特性和api级别

android系统会定期推出新特性,或是进行功能强化(如改善运行效率),又或是修复bug。操作系统改进的一个主要动力是新设备上硬件性能的提升。事实上,大多数操作系统版本都是伴随着新硬件的推出而发布的(比如eclair版3的发布是伴随着droid设备的推出)。

一些旧的android设备无法支持新版本系统的要求,因此不能随着新操作系统的发布而升级。这就带来了体验各不相同的用户群体。开发者必须检查设备的性能,或者至少把所需的硬件特性告知用户。这项工作只需通过检查一个简单的数字——api版本号——即可完成。附录d给出了android不同版本及其变动的列表。

如今android的发布符合一个大致的时间规律,每6~9个月会更新一次。尽管可以进行无线(over-the-air)升级,但这种方式有一定难度,因此不太被采用。而硬件制造商也希望保持一定的稳定性,这意味着市面上的主流产品并不一定会马上进行升级。但是,每当一个新版本发布,其带来的新特性对开发者而言是值得一试的。

1.7.3 用模拟器或android设备进行调试

模拟器会在开发用的电脑上开启一个看上去与真实android手机类似的窗口,并执行真实的arm指令。注意,模拟器的初始化启动过程比较缓慢,即便在高配置的电脑上也是如此。尽管有办法对模拟器进行配置,使其模拟真实android设备的多个方面,如电话呼入、有限的数据传输率、屏幕方向的改变等,但另一些特性(诸如传感器、音频和视频)还是有别于真实设备的。近期模拟器增加了利用宿主机gpu的能力,这有助于提升模拟器上产生视觉效果和图形变换的速度。对于那些开发者无法获取的设备,用模拟器对它们进行基本功能验证不失为一种好办法。例如,可以对平板电脑的屏幕尺寸进行模拟,而无需真正购买一台。

要注意,必须事先创建一个目标虚拟设备,才能正确地运行模拟器。eclipse提供了一种很好的方式来管理android虚拟设备(avd)。表1-4给出了模拟器的各种功能所对应的快捷键的速查清单。

《Android开发秘籍(第2版)》——第1.7节软件开发工具包(SDK)
《Android开发秘籍(第2版)》——第1.7节软件开发工具包(SDK)

一般而言,首次测试最好使用android手机来完成。这样可确保功能的完整性,还可以检验模拟器无法全完模拟的实时问题。要想把android设备作为开发者平台,只需将其用自带的usb线与电脑连接,并确保usb驱动被成功检测出来(mac系统中检测过程会自动完成;windows系统的驱动包含在sdk里;linux用户则要参考google提供的相关页面)。

为启用开发者功能,要对android设备上的某些设置进行调整。在主屏幕下分别选择menu(菜单)→settings(设置)→applications(应用程序)→ unknown sources(未知来源)和menu(菜单)→ settings(设置)→ applications(应用程序)→ development(开发)→ usb debugging(usb调试)4,从而允许通过usb线安装应用程序。有关android调试的更多详细内容参见第16章。

1.7.4 使用android调试桥

通常通过命令行访问android设备比较方便,只要用usb线将设备连接到电脑即可。sdk自带的android调试桥(android debug bridge,adb)可用于访问android设备。例如,想要在运行linux的计算机上登入到android设备,可键入如下命令:

这些都是最为常用的命令,另外还有其他很多命令,其中一些将在第16章介绍。

1.7.5 签名和发布

若想应用程序被google play接受,要对其进行签名。要做到这一点,首先需要生成一个私钥,并对其进行妥善保存。然后要在发布模式下用私钥对应用程序进行打包。对应用程序进行升级时,要使用相同的私钥进行签名,以保证升级对用户是透明的。

eclipse可以自动完成这些工作。只需右击要签名的项目,并选择export... → export android application开始打包工作。可以使用一个密码来生成私钥,该私钥会被保存起来,以备将来的应用程序和升级使用。接下来,通过菜单继续完成apk文件的创建。apk文件是android项目在发布模式下打包、并用私钥签了名的版本,它已可以被发布到google play上。

1android development tools bundle,可译为android开发工具包。——译者注

2截至翻译完成时,adt bundle并无官方中文版,因此对与开发环境交互时用到的各种命令和选项暂不翻译,保持英文原文。一部分感觉有必要的地方用括号注明中文含义。——译者注

32009年5月以后发布的android版本,除数字版本号外,还另有一个别名。且到目前为止,基本都用某种甜点的名字来命名。这里的eclair即是一种法式甜点,可译为“闪电泡芙”。关于android各个系统版本的详细情况可参见附录d。——译者注

4因android版本差异,上述两个功能选项可能并不在作者给出的位置。比如,在译者的4.0.4版系统中,前者位于settings(设置)→security(安全)→unknown sources(未知来源),后者则位于settings→developer options(开发人员选项)→usb debugging(usb调试)。——译者注`

继续阅读