1.12 保持Android SDK更新
Daniel Fowler
1.12.1 问题
SDK必须保持更新,使应用开发人员能够使用不断发展的Android平台上的最新API。
1.12.2 解决方案
使用Android SDK Manager程序更新已安装的SDK包和安装新SDK包,包括用于设备特殊功能的第三方程序包。
1.12.3 讨论
Android操作系统不断发展,因此,Android SDK也随之发展。Android持续发展的驱动力是:
Google的研究和开发
手机制造商开发新的改进型手机
应对安全问题和可能的攻击
支持新设备的需求(例如,3.0版本增加了对平板电脑设备的支持)
支持新的硬件接口(例如,版本2.3增加了对近场通信的支持)
修复缺陷
功能的改进(例如,新的JavaScript引擎)
底层Linux核心的更改
弃用多余的编程接口
新用途(例如,Google TV)
更广泛的Android开发社区
其他章节介绍了Android SDK的安装。在开发机上安装SDK并且顺利运行之后,开发人员很快就需要检查SDK的更新。
可以运行SDK Manager程序保持SDK最新。(在Windows机器上运行C:Program FilesAndroidandroidsdk文件夹中的SDK Manager.exe,或者选择All Programs(所有程序)→Android SDK Tools,并单击SDK Manager)也可以从Eclipse中运行它(使用Windows菜单并选择Android SDK Manager)。参见图1-23。Android SDK分为多个包。SDK Manager自动扫描现有包的更新,并列出新的包和设备制造商提供的包。
可用更新将在一个列表中显示(还将显示可用的可选包)。如果更新或者包有需要接受的许可证条款,显示时带有一个问号。可以用单选按钮接受或者拒绝这些包。拒绝的包将以红色的×标记,参见图1-24。
也可以单击Accept All(全部接受)单选按钮接受全部可用的程序包。所有准备下载和安装的包和更新将会打上一个绿色的勾。
单击Install(安装)按钮开始下载和安装;完成时单击Close(关闭)按钮,见图1-25。
如果SDK Manager程序本身已更新,你将看到要求重启该程序的信息(见图1-26)。
SDK Manager还可用于下载附加的程序包,这些包不是标准平台的一部分。这一机制用于设备制造商提供硬件支持。例如,LG电子提供3D设备,为了支持应用程序中的3D能力,该公司提供了一个附加的程序包。Google也使用这一机制下载可选的API。
在SDK Manager对话框中,在左边的列表中展开并勾选需要的程序包,然后单击Install(安装)按钮(见图1-27)。如果第三方程序包未列出,必须通过Tools(工具)菜单输入程序包发布者提供的respository.xml文件的URL。
Windows上可能出现的更新错误
在复杂的系统中,许多方面都可能出现问题。本节讨论一些更新问题和解决方案。
以管理员身份运行SDK Manager。在Windows计算机上,SDK的默认位置为C:Program FilesAndroidandroid-sdk目录。这是一个受限目录,可能导致SDK安装失败,这时可能出现标题为“SDK Manager: failed to install”(SDK Manager安装失败)的对话框(见图1-28)。
为了解决这个错误,进行如下检查:
拔掉所有Android设备(这可以避免adb.exe关闭)。
浏览C:Program FilesAndroidAndroid-sdk,查看tools文件夹的属性(选择上下文菜单,然后选择Properties(属性))。如图1-29所示,确保取消选择“Read-only(Only applies to files in folder)”复选框。
你可能必须授权更改这些属性(见图1-30)。
此时将显示一个Conform Attribute Changes(属性更改确认)对话框,选中“Apply changes to this folder, subfolders and files”(将更改应用到文件夹、子文件夹和文件)选项,并单击OK按钮。然后进行如下操作:
重启计算机。
确定关闭所有程序,特别是任何文件管理器副本。
在管理员账户下运行SDK Manager.exe,调出上下文菜单,选择“Run as administrator”(见图1-31)。
更新前关闭ADB。可能出现一条消息,要求你重启ADB(Android调试器,见图1-32)。
理想状态下,最好是在不运行ADB的情况下运行SDK Manager,而ADB在Windows刚刚启动时应该没有运行。也可以使用Windows任务管理器停止adb.exe。如果ADB没有运行,在提示中选择No;否则回答Yes。
SDK Manager无法更新自身。在SDK更新安装期间,可能有与SDK Manager程序相关的错误(见图1-33)。
为了解决这个问题,确保所有程序关闭(包括adb.exe)。然后,将SDK Manager.exe从C:Program FilesAndroidandroid-sdktoolslib复制到C:Program FilesAndroidandroid-sdk(或者安装SDK的其他位置)。然后再次运行SDK Manager(见图1-33)。
更新Eclipse。在更新SDK并打开Eclipse时,可能出现一条警告消息(见图1-34)。
在Eclipse中,选择Help(帮助)然后选择Check for Updates(检查更新)。等待进度对话完成,将显示Android Eclipse更新。单击Next按钮两次,并接受许可证条款。然后单击Finish按钮开始下载和更新进程。进程中可能显示未签名内容的警告信息,单击OK按钮接受警告(只在通过Eclipse更新时这么做)。更新完成后重启Eclipse(会显示一条要求重启的信息)。
SDK Manager和Android Eclipse插件排障的进一步信息可以在Android Developers网站上找到。
1.12.4 参阅
攻略1.5;SDK安装 ;添加SDK组件;ADT Plugin for Eclipse