学者之家电子论坛--打造电子工程师共同致富的平台's Archiver

涛行九天 发表于 2009-12-28 00:55

Android连载之:第二章第三节:利用其他的开发环境和工具开发Android应用程序

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工程:
在命令行,进入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文件来编译你的程序。
如果你尚未安装Ant,可以去Apache Ant的主页下载。安装Ant,并确认它在你的可执行路径上
在运行Ant前,你需要声明JAVA_HOME环境变量来指定JDK的安装路径
  
如果你还没有做这些,请按照上述的说明来创建一个新的工程
现在你可以在build.xml文件所在的目录下启动ant来运行ant build file。每次你对源程序或者资源文件做出了改动的话,你需要重新运行ant,它会将程序的最新版本打包使之得以部署

提示:在Windows上安装JDK的时候,默认安装在Program Files文件夹下。由于名字中有空格会导致ant无法启动。要解决这个问题,你可以这样来指定JAVA_HOME变量: JAVA_HOME=c:\Prora~1\Java\。
还有一种最简单的解决方法就是将JDK安装在一个目录中不含有空格的路径下,例如:c:\java\jdk1.6.0_02





2.3.3运行Android程序
     要运行已经编译好的程序,请按照下面的步骤,通过adb工具将.apk文件上载到模拟器下面的/data/app/路径中:
启动模拟器(从命令行运行: <你的SDK安装目录>/tools/emulator)
在模拟器中,切换到主屏幕(在你将程序重新安装到模拟器的过程中,最好先让程序停止运行;点击
Home
键从那个程序中切换出来)
在命令行输入: adb install myproject/bin/<appname>.apk将其上载至模拟器。例如,要安装示例程序中的Lunar Lander,则在命令行下输入: /adb install ../sample/LunarLander/bin/LunarLander.apk
在模拟器中,打开可用的程序列表,选择你的程序并启动
提示:
当你第一次安装一个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连接上的时候才会运行,因此你需要在连接上之前设定好断点。
     对正在进行调试的应用程序进行了改动或者改动了“等待调试器”选项将使系统杀死选择的程序(如果该程序正在运行),你可以用这种方法来杀死一个状态异常的程序。

页: [1]

Powered by Discuz! Archiver 7.1  © 2001-2009 Comsenz Inc.

302 Found

302 Found


nginx/1.8.0