(接上篇:如何配置Android开发环境1)
个画面。在「Select Root Directory」栏旁,按下右方的「Browse...」按钮,选择对应的工程。选择好后,按下「Finish」按钮完成从现存在工作环境(WorkSpace)资料夹下的工程导入到 Eclipse 环境的动作。
2.2.3 修复工程
完成新增程序工程到 Eclipse 后,我们可以在左侧的「Package Explorer」中找到我们新增的专案。
如果發現開啟後的資料夾圖示上有個小小的黃色驚嘆號,表示這個專案匯入後還有些問題,我們可以使用ADT內建的功能來試著修復專案屬性。 在「Package Explorer」的「NotesList」 專案檔案夾圖示上點選右鍵,從「Android Tools」選單中選擇「修復專案屬性」(Fix Project Properties)。 (Android Tools->Fix Project Properties)
2.2.2 创建启动配置
要想在Eclipse下运行并调试你的程序,你需要先创建启动配置。启动配置中指定了要启动的工程,要用的模拟器选项等等。
要给程序创建启动配置,按照如下步骤:
1. 选择Run > Open Run Dialog... 或者 Run > Open Debug Dialog...
2. 在左侧工程类型的列表中,右键点击Android Application并且选择New
3. 给你的配置键入一个名字
4. 在Android的Tab页上,找到用于开始的工程和Activity
5. 在模拟器Tab页上,设置需要的屏幕和网络属性,和其他一些模拟器启动选项
6. 在Common的Tab页上,你可以对一些附加的选项进行设置
7. 点击Apply保存启动配置,或者,点击Run或者Debug
2.2.3 运行和调试程序
当你建立工程,并为你的程序设置好启动配置后,按照下面的步骤你就可以运行或者调试你的程序了。
在Eclipse的主菜单上选择Run > Run 或者 Run > Debug,来运行或者调试可用的启动配置。需要注意的是可用的启动配置默认的是最近一次在启动配置中选择的那一个。并不一定是对应着你在Eclipse打开的那个程序。
要设置或者更改启动配置,你可以通过运行配置管理器即点击Run > Open Run Dialog... 或者 Run > Open Debug Dialog...
运行或者调试应用程序会引发以下的动作 :
· 启动模拟器
· 编译工程,并将程序安装在模拟器上
· Run启动程序
· Debug启动程序进入“等待调试器”模式,然后打开调试视图并连接至Eclipse的Java调试器
2.3 利用其他的开发环境和工具开发Android应用程序
推荐使用带有Android插件的Eclipse来开发Android应用程序,ADT插件提供了编辑、编译、调试功能并集成进了IDE中。然而,SDK中包含了可以让你用其他IDE开发的工具,包括intelliJ
2.3.1 创建Android工程
Android的SDK中包含了一个程序activityCreator,它可以为你的工程生成stub文件和build文件。你可以利用这个程序来创建新的工程或者从现有代码创建工程(比如SDK中的示例程序)。对于Linux和Mac,SDK提供了一个python的脚本activityCreator.py;对于Windows,相应的提供了activityCreator.bat这个批处理的脚本。不管是哪种平台,你都可以以同样的方式操作activityCreator。按照下面的步骤来运行activityCreator并创建一个Android工程:
1. 在命令行,进入SDK安装目录下面的tools/目录,为你的工程文件创建一个新的目录。如果你是从现有代码创建工程,那么转到你的程序所在的根目录
2. 运行activityCreator.在命令行,你需要指明一个full-qualified类的名称作为参数。如果你是创建一个全新的项目,脚本创建的stub类的名称即使所要求的full-qualified的类的名称。如果你是从现有代码创建工程,需要指定包中的一个Activity class的名称。脚本的可选命令参数包含:
· --out <folder>,设定输出目录。默认的输入目录就是当前目录。如果要为你的工程文件创建一个新的目录,使用这个来指定
· --ide intellij,对新建的工程生成IntelliJ IDEA的工程文件
下面是一个例子:
~/android_linux_sdk/tools$ ./activityCreator.py --out myproject your.package.name.ActivityName
package: your.package.name
out_dir: myproject
activity_name: ActivityName
~/android_linux_sdk/tools$
activityCreator脚本生成如下的文件和目录(不会覆盖已有的目录和文件)
AndroidManifest.xml:应用程序的manifest文件,与指定的Activity class是同步的
build.xml:用来编译和打包应用程序的Ant文件
*src/your/package/name/ActivityName.java:在你输入时指定的的Activity class
your_activity.iml,your_activity.ipr,your_activity.iws:intelliJ工程文件
res/:资源文件的目录
src/:源代码目录
bin/:编译脚本的输出目录
现在可以将你的目录移动到任何你想开发的地方,但是需要注意的是你只能通过tools目录下的adb程序来将文件发送到模拟器,因此,你需要保证你的解决方案和tools/目录之间是可以互相读取的
同时,尽量不要移动SDK开发包的位置,因为这将对build脚本产生影响(要使之能够重新运行你需要手动更新这些脚本来reflect the new SDK location)
2.3.2 编译Android程序
利用activityCreator生成的Ant build.xml文件来编译你的程序。
1. 如果你尚未安装Ant,可以去Apache Ant的主页下载。安装Ant,并确认它在你的可执行路径上
2. 在运行Ant前,你需要声明JAVA_HOME环境变量来指定JDK的安装路径
1. 如果你还没有做这些,请按照上述的说明来创建一个新的工程
2. 现在你可以在build.xml文件所在的目录下启动ant来运行ant build file。每次你对源程序或者资源文件做出了改动的话,你需要重新运行ant,它会将程序的最新版本打包使之得以部署
2.3.3 运行Android程序
要运行已经编译好的程序,请按照下面的步骤,通过adb工具将.apk文件上载到模拟器下面的/data/app/路径中:
1. 启动模拟器(从命令行运行: <你的SDK安装目录>/tools/emulator)
2. 在模拟器中,切换到主屏幕(在你将程序重新安装到模拟器的过程中,最好先让程序停止运行;点击Home键从那个程序中切换出来)
3. 在命令行输入: adb install myproject/bin/<appname>.apk将其上载至模拟器。例如,要安装示例程序中的Lunar Lander,则在命令行下输入: /adb install ../sample/LunarLander/bin/LunarLander.apk
4. 在模拟器中,打开可用的程序列表,选择你的程序并启动
提示:当你第一次安装一个Activity时,你可能需要重新启动模拟器。因为包管理器通常只是在模拟器启动的时候才完全检测manifests。
2.3.4 将调试器关联到应用程序
这一节介绍如何在屏幕上显示调试信息(如CPU利用率)以及如何在IDE中调试在模拟器上运行的程序 Eclipse的插件已经自动关联到了调试器,但是对于其他的IDE,你可以配置其监听调试端口来接收调试信息。
1. 启动Dalvik Debug Monitor Server(DDMS) tool,这个工具在你的IDE和模拟器之间起到一个转发服务的作用
2. 在模拟器上设置可选的调试配置项,例如在关联到调试器之前阻止应用程序启动为一个运行实例。要指出的是许多此类的调试选项都可以在没有DDMS的情况下使用,例如在模拟器上显示CPU使用率或者屏幕刷新率等
3. 配置你的IDE关联到8700端口来调试。这部分内容详见如何设置Eclipse来调试Android程序
2.3.5 配置IDE关联到调试端口
DDMS将为它在模拟器上搜索到的每一个虚拟机分配一个指定的调试端口。你需要将IDE关联到这个指定的端口(在该虚拟机的Info Tab页列出),或者你可以使用默认的8700端口来连接到任何一个在已找到的虚拟机列表选中的程序。
你的IDE关联到正在模拟器上运行的程序,可以显示程序的线程并且允许你中止,检测其运行状态和设置断点。如果你在开发设置面板里选择了“等待调试器”,应用程序只有在Eclipse连接上的时候才会运行,因此你需要在连接上之前设定好断点。
对正在进行调试的应用程序进行了改动或者改动了“等待调试器”选项将使系统杀死选择的程序(如果该程序正在运行),你可以用这种方法来杀死一个状态异常的程序。