1、第第2章章 Android开发环境开发环境1本章学习目标:本章学习目标:n掌握掌握Android开发环境的安装配置方法开发环境的安装配置方法n了解了解Android SDK的目录结构和示例程序的目录结构和示例程序n掌握各种掌握各种Android开发工具的用途开发工具的用途 22.1 安装安装Android开发环境开发环境Android集成开发环境集成开发环境Eclipse with the ADT PluginAndroid Studiothe ADT Bundlen Eclipse+ADT pluginn Android SDK Toolsn Android Platform-toolsn
2、The latest Android platformn The latest Android system image for the emulatora new Android developeruse an existing version of Eclipse or another IDEtake a more customized approach to installing the Android SDKn a new Android development environment similar to Eclipse with the ADT Pluginn based on I
3、ntelliJ IDEAn Early Access Preview(Several features are either incomplete or not yet implemented)Windows平台需安装平台需安装JDK32.1 安装安装Android开发环境开发环境n手动定制安装步骤手动定制安装步骤 q安装安装JDKq安装安装Eclipseq安装安装Android SDKq安装安装ADT插件插件42.1 安装安装Android开发环境开发环境n2.1.1 安装安装JDK和和Eclipseq确认安装确认安装JREnJRE即即Java运行环境运行环境n如果没有安装如果没有安装JRE
4、则在打开则在打开Eclipse时,会出现时,会出现错误提示错误提示nJDK中包含中包含JRE,所以只需下载,所以只需下载JDK52.1 安装安装Android开发环境开发环境n2.1.1 安装安装JDK和和EclipseqJDK的基本组件的基本组件n编译器:将源程序转换成字节码编译器:将源程序转换成字节码n打包工具:将相关的类文件打包成一个文件打包工具:将相关的类文件打包成一个文件n文档生成器:从源码注释中提取文档文档生成器:从源码注释中提取文档n查错工具:进行调试和查错查错工具:进行调试和查错62.1 安装安装Android开发环境开发环境n2.1.1 安装安装JDK和和Eclipseq安装
5、安装JDKnhttp:/ 72.1 安装安装Android开发环境开发环境n2.1.1 安装安装JDK和和Eclipseq安装安装JDKn运行平台选择:运行平台选择:Windowsn一般情况下保持一般情况下保持JDK的默认设置即可的默认设置即可82.1 安装安装Android开发环境开发环境n2.1.1 安装安装JDK和和Eclipseq安装安装Eclipsenhttp:/www.eclipse.org/downloadsn选择下载:选择下载:Eclipse IDE for Java Developers(122MB)n解压到指定的目录解压到指定的目录92.1 安装安装Android开发环境开
6、发环境n2.1.1 安装安装JDK和和Eclipseq启动启动Eclipsen双击目录中的双击目录中的eclipse.exe,出现,出现Eclipse集成开发集成开发环境的启动画面环境的启动画面n若无法启动,尝试重新启动计算机若无法启动,尝试重新启动计算机102.1 安装安装Android开发环境开发环境n2.1.1 安装安装JDK和和Eclipseq启动启动Eclipsen选择工作目录:选择工作目录:G:Androidworkplacen建议选择复选框,将工作目录设成默认工作目录建议选择复选框,将工作目录设成默认工作目录112.1 安装安装Android开发环境开发环境n2.1.1 安装安装
7、JDK和和Eclipseq启动启动Eclipsen正常启动后的正常启动后的Eclipse集成开发环境集成开发环境122.1 安装安装Android开发环境开发环境n2.1.2 安装安装Android SDKqAndroid SDK是是Google公司为了提高公司为了提高Android应用程序开发效率、应用程序开发效率、减少开发周期而提供的辅助开发工具、开发文档和程序范例减少开发周期而提供的辅助开发工具、开发文档和程序范例qAndroid开发站点:开发站点:http:/ q选择下载不同版本的选择下载不同版本的SDK132.1 安装安装Android开发环境开发环境n2.1.2 安装安装Andro
8、id SDKq注意:所下载的注意:所下载的EXE文件版本和文件版本和ZIP文件版本只是文件版本只是SDK的安装工具的安装工具q在运行了所下载的在运行了所下载的SDK安装工具后,打开安装目录中的安装工具后,打开安装目录中的“SDK管理器管理器”(SDK Manager.exe),再下载所需要版本的),再下载所需要版本的Android SDKqSDK管理器运行后自动获取可下载的管理器运行后自动获取可下载的SDK列表和辅助工具列表,选择需要列表和辅助工具列表,选择需要的的Android版本和辅助工具(版本和辅助工具(Extras)下载安装,安装成功后,所有安装)下载安装,安装成功后,所有安装包的状态
9、栏(包的状态栏(Status)将从)将从Not installed更改为更改为Installed142.1 安装安装Android开发环境开发环境n2.1.3 安装安装ADT插件插件qADT插件是插件是Eclipse集成开发环境的定制插件,为开发集成开发环境的定制插件,为开发Android应用程序提供了一个强大的、完整的开发环应用程序提供了一个强大的、完整的开发环境,可以快速建立境,可以快速建立Android工程,用户界面和基于工程,用户界面和基于Android API的组件,还可以使用的组件,还可以使用Android SDK提供提供的工具进行程序调试,或对的工具进行程序调试,或对apk文件进
10、行签名等文件进行签名等q一般情况下,推荐使用安装一般情况下,推荐使用安装ADT插件的插件的Eclipse开发开发Android应用程序,因为目前为止应用程序,因为目前为止Eclipse仍是较为便仍是较为便捷、快速的开发环境捷、快速的开发环境q安装安装ADT有两种方法有两种方法n手动下载手动下载n自动下载自动下载152.1 安装安装Android开发环境开发环境n2.1.3 安装安装ADT插件插件q手动下载手动下载ADT插件插件n下载网址:下载网址:http:/dl- 安装安装Android开发环境开发环境n2.1.3 安装安装ADT插件插件q手动下载手动下载ADT插件插件n安装插件:启动安装插
11、件:启动Eclipse,选择选择 HelpInstall New Software,打开,打开Eclipse的插件安装界面的插件安装界面n点击点击“Add”172.1 安装安装Android开发环境开发环境n2.1.3 安装安装ADT插件插件q手动下载手动下载ADT插件插件n点击点击“Archive”按钮,选择按钮,选择ADT插件压缩包在本地磁盘插件压缩包在本地磁盘中的位置中的位置182.1 安装安装Android开发环境开发环境n2.1.3 安装安装ADT插件插件q手动下载手动下载ADT插件插件n在在ADT插件安装前,会提示用户对需要安装的插件进行插件安装前,会提示用户对需要安装的插件进行选
12、择和确认,按图如下选择选择和确认,按图如下选择192.1 安装安装Android开发环境开发环境n2.1.3 安装安装ADT插件插件q手动下载手动下载ADT插件插件n认可开源软件的许可协议(在认可开源软件的许可协议(在ADT安装前)安装前)n整个安装过程会持续几分钟整个安装过程会持续几分钟n安装结束后会提示重启安装结束后会提示重启Eclipse,即完成下载,即完成下载 202.1 安装安装Android开发环境开发环境n2.1.3 安装安装ADT插件插件q自动下载自动下载ADT插件插件n自动下载自动下载ADT插件的方法和手动方法安装相似,不同之处在于插件的方法和手动方法安装相似,不同之处在于不
13、需要到网站上下载不需要到网站上下载ADT插件压缩包,而直接在插件压缩包,而直接在“Add Repository”界面中输入界面中输入ADT插件的下载地址即可插件的下载地址即可 212.1 安装安装Android开发环境开发环境 n2.1.3 安装安装ADT插件插件q设置设置Android SDK的保存路径的保存路径n选择:选择:WindowPreferences 打开打开Eclipse的配置界面的配置界面n输入输入Android SDK 的保存路径的保存路径n点击点击“Apply”22 2.1 安装安装Android开发环境开发环境n2.2.1 目录结构目录结构(+)add-ons (+)ad
14、don_google_apis_google_inc_-14(+)docs(+)extras (+)google (+)usb_driver(+)platforms (+)android-14(+)platforms-tools(+)samples (+)android-14(+)temp(+)tools(-)SDK Manager.exe(-)AVD Manager.exe(-)SDK Readme.txt add-ons 目录下的是目录下的是Google提供地图开提供地图开发的库函数,支持基于发的库函数,支持基于Google Map 的地的地图开发图开发docs目录下的是目录下的是Andr
15、oid SDK的帮助文的帮助文档,通过目录下的档,通过目录下的offline.html文件启动文件启动Extrasgoogle目录下保存了目录下保存了Android手手机的机的USB驱动程序驱动程序platforms目录用来存放目录用来存放SDK和和AVD管理管理器下载的各种版本的器下载的各种版本的SDK,图示的目录,图示的目录中有中有4.0版本的版本的SDKplatforms-tools目录中保存了与平台调目录中保存了与平台调试相关的工具试相关的工具samples目录是示例代码和程序的存放目目录是示例代码和程序的存放目录录temp是临时存放文件的目录,在是临时存放文件的目录,在SDK和和AV
16、D管理器下载开发包时,下载文件会管理器下载开发包时,下载文件会临时存放在这个目录中临时存放在这个目录中tools目录保存了通用的目录保存了通用的Android开发调开发调试工具和试工具和Android手机模拟器手机模拟器SDK Manager.exe和和AVD Manager.exe分分别是别是SDK和和AVD的管理器的管理器SDK Readme.txt是是Android SDK的说明的说明文档文档232.2 Android SDKn2.2.2 示例程序示例程序qMultiResolution示例示例nMultiResolution是是Android程序支持不同尺程序支持不同尺寸屏幕的示例。根
17、据屏幕寸屏幕的示例。根据屏幕分辨率不同,分辨率不同,Android程程序可以自动加载不同大小序可以自动加载不同大小的图片,避免图片尺寸对的图片,避免图片尺寸对界面布局产生影响界面布局产生影响 24n2.2.2 示例程序示例程序qApiDemos示例示例nApiDemos示例提供示例提供了了Android平台上多平台上多数数API的使用方法,的使用方法,涉及系统、资源、图涉及系统、资源、图形、搜索、语音识别形、搜索、语音识别和用户界面等方面和用户界面等方面 2.2 Android SDK25n2.2.2 示例程序示例程序qSkeletonApp示例示例nSkeletonApp示例是一个界面演示例
18、是一个界面演示程序,说明了如何使用布局和示程序,说明了如何使用布局和界面控件设计用户界面,以及如界面控件设计用户界面,以及如何在界面中添加菜单和处理菜单何在界面中添加菜单和处理菜单事件事件2.2 Android SDK26n2.2.2 示例程序示例程序qNotesPad示例示例nNotesPad示例是一个记事本示例是一个记事本程序,可以将文字内容保存在程序,可以将文字内容保存在记事本程序中,并支持添加和记事本程序中,并支持添加和删除记事本操作。删除记事本操作。NotesPad示例说明了如何进行复杂程序示例说明了如何进行复杂程序设计,以及如何使用设计,以及如何使用SQLite数据库保存数据和数据
19、库保存数据和ContentProvider共享数据共享数据 2.2 Android SDK27n2.2.2 示例程序示例程序qHome示例示例nHome示例是一个桌示例是一个桌面主题程序,可以将面主题程序,可以将自定义的桌面主题注自定义的桌面主题注册到系统中,用户可册到系统中,用户可以通过点击以通过点击HOME键键选择不同的桌面主题选择不同的桌面主题。此示例说明了如何。此示例说明了如何进行桌面主题程序的进行桌面主题程序的开发,以及在开发过开发,以及在开发过程中需要注意的事项程中需要注意的事项 2.2 Android SDK282.2 Android SDKn2.2.2 示例程序示例程序qSna
20、ke示例示例nSnake示例是贪吃蛇程序示例是贪吃蛇程序,一个经典的小游戏,可,一个经典的小游戏,可以通过导航键控制贪吃蛇以通过导航键控制贪吃蛇的前进方向。该示例演示的前进方向。该示例演示了如何在了如何在Android系统中进系统中进行游戏开发,对进行游戏行游戏开发,对进行游戏开发的程序人员具有一定开发的程序人员具有一定的参考价值的参考价值 292.2 Android SDKn2.2.2 示例程序示例程序qLunarLander示例示例n一个小游戏,模拟登陆舱在月一个小游戏,模拟登陆舱在月球表面着陆。用户通过控制登球表面着陆。用户通过控制登陆舱的方向和速度,使登陆舱陆舱的方向和速度,使登陆舱可
21、以平稳的在月球表面着陆可以平稳的在月球表面着陆 302.2 Android SDKqJetBoy示例示例nJetBoy示例是一个支持背景音乐和音效的游戏程示例是一个支持背景音乐和音效的游戏程序,用户可以控制飞船击碎飞来的陨石序,用户可以控制飞船击碎飞来的陨石31n2.2.3 开发工具开发工具qAndroid模拟器模拟器nAndroid SDK 中最重要的工具,允许程序开发人员在没有物理中最重要的工具,允许程序开发人员在没有物理设备的情况下,在电脑上对设备的情况下,在电脑上对Android程序进行开发、调试和仿真程序进行开发、调试和仿真n模拟器文件的位置是模拟器文件的位置是/tools/emul
22、ator.exen支持多种屏幕分辨率和不同的外观支持多种屏幕分辨率和不同的外观n支持加载支持加载SD卡映像文件,更改模拟网络状态,延迟和速度,模卡映像文件,更改模拟网络状态,延迟和速度,模拟电话呼叫和接收短信等拟电话呼叫和接收短信等n支持将屏幕当成触摸屏使用,可以使用鼠标点击屏幕来模拟用户支持将屏幕当成触摸屏使用,可以使用鼠标点击屏幕来模拟用户对对Android设备的触摸操纵设备的触摸操纵n在在Android模拟器上有普通手机设备常见的各种按键,如音量键模拟器上有普通手机设备常见的各种按键,如音量键、挂断键、返回键和菜单键等、挂断键、返回键和菜单键等n不支持接听真实电话呼叫,不支持接听真实电话
23、呼叫,USB连接,摄像头捕获,连接状态检连接,摄像头捕获,连接状态检测,电池电量,测,电池电量,AC电源检测,电源检测,SD卡插拔检查和使用蓝牙设备卡插拔检查和使用蓝牙设备2.2 Android SDK32n2.2.3 开发工具开发工具qAndroid调试桥(调试桥(Android Debug Bridge,ADB)n用于连接用于连接Android设备或模拟器的工具,负责将应用设备或模拟器的工具,负责将应用程序安装到模拟器和设备中,或从模拟器或设备中传程序安装到模拟器和设备中,或从模拟器或设备中传输文件输文件n是一个客户端是一个客户端/服务器程序,包含守护程序、服务器服务器程序,包含守护程序、
24、服务器程序和客户端程序程序和客户端程序q守护程序运行在每个模拟器的后台守护程序运行在每个模拟器的后台q服务器程序运行在开发环境中,管理客户端和守护程序服务器程序运行在开发环境中,管理客户端和守护程序的连接的连接q客户端程序通过服务器程序,与模拟器中的守护程序相客户端程序通过服务器程序,与模拟器中的守护程序相连接连接2.2 Android SDK33n2.2.3 开发工具开发工具qDDMSnAndroid系统中内置的调试工具系统中内置的调试工具q监视监视Android系统中进程、堆栈信息系统中进程、堆栈信息q查看查看logcat日志日志q实现端口转发服务和屏幕截图功能实现端口转发服务和屏幕截图功
25、能q模拟电话呼叫和模拟电话呼叫和SMS短信短信q浏览浏览Android模拟器文件系统等模拟器文件系统等n启动文件:启动文件:/tools/ddms.bat2.2 Android SDK34n2.2.3 开发工具开发工具qDDMSn打开打开DDMS调试界面:调试界面:WindowOpen PerspectiveDDMSn打开打开Show Views的选的选择对话框:择对话框:WindowShow viewother 打开打开Show View的选择对的选择对话框话框n就可以在就可以在DDMS调试界面调试界面中添加任何希望进行调试中添加任何希望进行调试和检查的功能和检查的功能2.2 Android
26、 SDK35n2.2.3 开发工具开发工具qDDMSnDDMS中的设备管理器中的设备管理器q同时监控多个同时监控多个Android模拟器,显示每个模拟器中正模拟器,显示每个模拟器中正在运行的进程。模拟器使用端口号进行唯一标识在运行的进程。模拟器使用端口号进行唯一标识q提供屏幕截图功能,可以将提供屏幕截图功能,可以将Android模拟器当前的屏模拟器当前的屏幕内容保存成幕内容保存成png文件文件2.2 Android SDK362.2 Android SDKn2.2.3 开发工具开发工具qDDMSnDDMS中的模拟器控制器中的模拟器控制器q控制控制Android模拟器的网模拟器的网络速度和延迟,
27、模拟语络速度和延迟,模拟语音和音和SMS短信通信短信通信q支持的支持的网络速率:网络速率:GSM、HSCSD、PRS、EDGE、MTS、DPA和和全速率全速率q支持的支持的网络延迟:网络延迟:GPRS、EDGE、UMTS和无延和无延迟迟在在Incoming number中中输入呼叫电话号码,单输入呼叫电话号码,单击击Send按钮,模拟器可按钮,模拟器可接收到来自输入号码的接收到来自输入号码的语音电话或语音电话或SMS短信短信372.2 Android SDKn2.2.3 开发工具开发工具qDDMSnDDMS中的模拟器控制器中的模拟器控制器q电话呼入显示电话呼入显示qSMS短信显示短信显示382
28、.2 Android SDKn2.2.3 开发工具开发工具qDDMSnDDMS中的文件浏览器中的文件浏览器q上传、下载和删除上传、下载和删除Android内置存储器上的文件内置存储器上的文件q显示文件和目录的名称、权限、建立时间等显示文件和目录的名称、权限、建立时间等392.2 Android SDKn2.2.3 开发工具开发工具qDDMSnDDMS中的日志浏览器中的日志浏览器q浏览浏览Android系统、系统、Dalvik虚拟机或应用程序产生的日虚拟机或应用程序产生的日志信息,有助于快速定位应用程序产生的错误志信息,有助于快速定位应用程序产生的错误n还能够查看虚拟机的堆栈状态、线程信息和控制
29、台还能够查看虚拟机的堆栈状态、线程信息和控制台信息信息n是进程调试和错误定位的强大工具是进程调试和错误定位的强大工具402.2 Android SDKn2.2.3 开发工具开发工具q其他工具其他工具工具名称工具名称启动文件启动文件说明说明数据库工具数据库工具sqlite3.exe用来创建和管理用来创建和管理SQLite数据库数据库打包工具打包工具apkbuilder.bat将应用程序打包成将应用程序打包成apk文件文件层级观察器层级观察器hierarchyviewer.bat对用户界面进行分析和调试,以图形化对用户界面进行分析和调试,以图形化的方式展示树形结构的界面布局的方式展示树形结构的界面
30、布局跟踪显示工具跟踪显示工具traceview.bat以图形化的方式显示应用程序的执行日以图形化的方式显示应用程序的执行日志,用来调试应用程序,分析执行效率志,用来调试应用程序,分析执行效率SD卡映像创建工具卡映像创建工具mksdcard.exe建立建立SD卡的映像文件卡的映像文件NinePatch文件编辑工具文件编辑工具 draw9patch.batNinePatch是是Android提供的可伸缩的图提供的可伸缩的图形 文 件 格 式,基 于形 文 件 格 式,基 于 P N G 文 件。文 件。draw9patch工具可以使用工具可以使用WYSIWYG编编辑器建立辑器建立NinePatch
31、文件文件412.2 Android SDKn2.2.3 开发工具开发工具q其他工具其他工具工具名称工具名称启动文件启动文件说明说明APK程序优化工具程序优化工具zipalign.exe经过经过zipalign优化过的优化过的APK程序,程序,Android系统可更高效地根据请求索系统可更高效地根据请求索引引APK文件中的资源。使用文件中的资源。使用4字节的字节的边界对齐方式来映射内存,通过空边界对齐方式来映射内存,通过空间换时间的方式提高执行效率间换时间的方式提高执行效率代码优化混淆工具代码优化混淆工具proguard目录目录通过删除未使用的代码,并重命名通过删除未使用的代码,并重命名代码中的
32、类、字段和方法名称,使代码中的类、字段和方法名称,使代码较难实施逆向工程代码较难实施逆向工程PNG和和ETC1转换工转换工具具etc1tool.exe命令行工具,支持将命令行工具,支持将PNG和和ETC1相互转换相互转换界面操作测试工具界面操作测试工具Monkey(通过通过adb运行)运行)Monkey可在模拟器或设备上产生随可在模拟器或设备上产生随机操作事件,包括点击、触摸或手机操作事件,包括点击、触摸或手势等,用于对程序的用户界面进行势等,用于对程序的用户界面进行随机操作测试随机操作测试模拟器控制工具模拟器控制工具monkeyrunner.bat允许通过代码或命令,在外部控制允许通过代码或命令,在外部控制模拟器或设备模拟器或设备42