展开全部

能够在eclipse上运行调试应用程序之前,你必须为它创建一个启动项。启动项指定哪个工程将被启动,哪个activity开始工作,以及62616964757a686964616fe4b893e5b19e31333339666661使用哪些模拟器选项等。

按照以下步骤为Eclipse版本的应用程序创建合适的启动项:

打开启动项管理工具。

在Eclipse 3.3 (Europa)的版本中,酌情选择 Run > Open RunDialog... or Run > Open Debug Dialog... 。

在Eclipse3.4 (Ganymede)版本中,酌情选择 Run > Run Configurations...or Run > Debug Configurations... 。

在左边的工程类型列表选择Android Application选择,双击(或者点击右键选择new),创建一个新的启动项。

输入启动项名称。

在Android标签中,浏览要开始的工程和Activity 。

在Target标签中,设置想要显示的屏幕及网络属性,以及其他任何模拟器启动选项。

你可以在Common标签中设置更多的选项.

按下Apply保存启动配置,或者按下Run或Debug()。

运行和调试应用程序

一旦你设定了工程和工程启动配置,你就可以按照以下的说明运行和调试应用程序了。

从eclipse主菜单,根据情况选择Run>Run 或者 Run>Debug,开始运行或者调试活动启动项。

注意,这里活动启动项是在运行配置管理中最最近一次选中的那个。它不一定就是在Eclipse Navigation 面板中选择的程序(如果有的话)

设置和修改活动启动项,可以使用启动项管理工具。如何获得启动项管理工具可以参考创建一个启动项

运行或调试应用程序将触发以下动作:

启动模拟器,如果他还没有开始运行。

编译工程, 如果在上次编译的基础上修改过代码,将重新编译。在模拟器上安装应用程序。

Run选项,开始运行程序。

Debug 在"Wait for debugger "模式下启动程序,然后打开调试窗口并将Eclipse Java调试器和程序关联。

利用其他IDEs和工具开发Android应用程序

通常我们使用安装有ADT插件的eclipse Eclipse with the ADT plugin.来开发Android程序,这个插件将编辑,build和调试功能集成到IDE上。

然而,如果你想在其他的IDE上开发程序,例如IntelliJ,或者使用没有ADT插件的eclipse也可以。SDK提供了安装,编译,调试应用程序所需要的工具。

创建一个android工程

Android SDK包含一个activityCreator的程序,它将为工程产生多个stub文件和一个build文件。你可以用这个程序创建一个新的 Android工程或者在现有代码上创建工程,如SDK中包含的例子。对于Linux 和Mac系统,SDK提供activityCreator.py,一个 Python脚本,Windows上则是activityCreator.bat一个批处理脚本。无论是哪种平台,用法是一样的。

按以下步骤运行activityCreator创建Android工程:

在命令行下,切换到SDK下的tools/目录下,为你的工程文件新建一个目录。如果你是在现有代码上创建工程,切换到程序的根目录下。

运行activityCreator。在命令行下,你必须指定完全合格的类名作为参数。如果你是创建一个全新的工程,这个类代表的与它同名的stub类和脚本文件。如果是在现有代码上创建工程,必须指定软件包中其中一个Activity类的名称。命令选项的脚本包括:

--out 设定输出目录。默认情况下输出目录为当前目录。如果你想为工程文件创建一个新的目录,可以使用这个选项来指向它。

--ide intellij, 在一个新的项目中生成IntelliJIDEA 工程文件。

这里有个例子:

~/android_linux_sdk/tools $ ./activityCreator.py --out myprojectyour.package.name.ActivityName

package: your.package.name

out_dir: myproject

activity_name: ActivityName

~/android_linux_sdk/tools $

activityCreator脚本生成以下文件和目录(但是不能重写已有文件):

AndroidManifest.xml 程序的清单文件,同时为工程指定Activity类。

build.xml 一个Ant文件,用来编译/打包应用程序。

src/your/package/name/ActivityName.java 你指定的输入Activity类。

your_activity.iml, your_activity.ipr, your_activity.iws [only with the-ide intelliJ flag] intelliJ工程文件

res/ 资源目录.

src/ 源代码目录.

bin/ build脚本的输出目录.

现在你可以将开发文件夹移到任何地方,但是记住,必须使用tool/文件夹下的adb程序将文件发送到模拟器上。因此你需要在你工作环境和tools/文件夹之间活动。

当然你需要避免移动SDK目录,因为它将打断编译脚本。(再重新build之前需要手动更新SDK的映射路径)

编译 android应用程序

使用activityCreator生成的Ant文件build.xml来编译程序

如果你没有,你可以通过Apache Ant home page得到Ant文件。安装它,并确定它在你的可执行文件路径下。

呼叫Ant之前,你需声明JAVA_HOME环境变量,并将它设置为JDK的安装路径。

注 意:在windows上,JDK默认的安装路径为"ProgramFiles",这个路径将会引起Ant失败,因为路径中间有空格。解决这个问题,你可以像这样指定环境变量 JAVA_HOME:JAVA_HOME=c:\Prora~1\Java\ 然而简单的解决方法是将JDK安装在没有空格的目录下。例如:c:\java\jdk1.6.0_02.

如果你还没有这么准备好,按照上面创建一个新的工程的介绍建立一个工程。

现在你可以为你的工程运行Ant编译文件,只需在build.xml同文件夹下输入ant即可。每次修改原文件或是资源,都需要重新运行ant,它将把最新版的应用程序打包以便deploy.

运行Android程序

运行一个编译好的程序,你需要用adb工具将.apk文件加载到模拟器的/data/app/目录下,用法如下面介绍。

启动模拟器(命令行下运行sdk目录下的/tools/emulator)。

模拟器切换到主画面(最好不要在程序运行的时候向模拟器安装程序,可以按home键离开应用程序)。

运 行adb,安装myproject/bin./.apk文件。例如,安装Lunar Lander 示例,命令行下,切换到SDK目录下的/sample/LunarLander子目录下,输入../../tools/adbinstall bin/LunarLander.apk

在模拟器中,打开可执行程序列表,卷动屏幕,选中并启动你的应用程序。

注意:当你第一次安装一个Activity时,你可能需要在启动项显示之前,或者其它程序调用它之前重新启动模拟器。因为软件包管理工具通常只有在模拟器启动时才能完全的审查manifests。

为程序附加调试器

这一节我们介绍如何在屏幕上显示调试信息(例如CPU使用率),以及如何将IDE和模拟器上运行的程序关联起来。

使用eclipse插件可以自动的生成调试器。但你也可以通过配置IDES来监听调试端口得到调试信息。

启动Dalvik Debug Monitor Server (DDMS) 工具 ,它在IDE和模拟器之间扮演着端口转换服务的角色。?

设置模拟器调试配置选项。例如,等到调试信息被加载后才启动应用程序。注意,很多调试选项无需DDMS也可以使用,例如模拟器上显示CPU的使用效率,或者屏幕的刷新频率。

配置IDE,使得调试时IDE与8700端口关联 .how to set up Eclipse to debug your project. 包含以下信息。

配置IDE附加调试端口

DDMS将为每一个虚拟机分配一个特殊的调试端口,这个端口在模拟器上可以找到。你必须将你的IDE与此端口(虚拟机上信息栏中有列出这些端口)关联或者是默认的端口8700。这样可以使IDE 连接到模拟器上程序列表中的任一个程序。

你的IDE需要能够关联模拟器上正在运行的程序,显示它的线程,并允许你挂起它,检查它的状态,设置断点。如果你在开发设置面板选择了“等待调试”,应用程序将等到Eclipse连接后才运行,所以你需要在连接之前设置断点。

修改正在调试的程序,或者在当前程序运行时选择“等待调试”将引起系统杀死这个应用程序。如果你的程序处于一种坏的状态,你可以使用方式杀死它,方法很简单,只需要设置和钩掉复选框。

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

python中debug和run有什么区别_android应用程序开发中run和debug 有什么区别?相关推荐

  1. 程序开发中的软实力和硬实力

    概述:实力是一种客观存在,而霸权不同,霸权的基础虽然是实力,但它更是一种感知,是其他国家对他实力的感知. 一个大国,当然要积累实力,但重要的是通过战略运作,来经营国际社会对你霸权的感知.这个区别有意思 ...

  2. 实现uniapp的app和小程序开发中能使用axios进行跨域网络请求,并支持携带cookie

    实现uniapp的app和小程序开发中能使用axios进行跨域网络请求,并支持携带cookie 1-使用npm install axios;命令安装axios 2-新建一个文件夹再建一个.js后缀文件 ...

  3. 颤振稳定性叶瓣图_为什么颤振实际上是应用程序开发中的下一件大事

    颤振稳定性叶瓣图 Last week, Michael Long wrote an article explaining in detail why Flutter won't be the &quo ...

  4. java写微信小程序答辩问题_java微信小程序开发中加密解密算法总结

    详解java微信小程序开发中加密解密算法 一.概述 微信推出了小程序,很多公司的客户端应用不仅具有了APP.H5.还接入了小程序开发.但是,小程序中竟然没有提供Java版本的加密数据解密算法.这着实让 ...

  5. 项目的命名规范,为以后的程序开发中养成良好的行为习惯

    代码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯. 代码编写规范使用范围:J2EE项目开发. 一.包命名规范: 目的:包的命名规范应当体现出项目资源良好的划分 1.s ...

  6. 关于微信小程序开发中遇到的缺少game.json问题的解决

    关于微信小程序开发中遇到的缺少game.json问题的解决 参考文章: (1)关于微信小程序开发中遇到的缺少game.json问题的解决 (2)https://www.cnblogs.com/ygxd ...

  7. DevOps 在移动应用程序开发中扮演什么角色?

    作者 | VARUN BHAGAT 译者 | 火火酱,责编| Carol 封图 | CSDN 付费下载自视觉中国 全球智能手机用户数量已经超过30亿.据估计,未来几年用户人数将增加至数亿人.智能手机用 ...

  8. 解决微信小程序开发中wxss中不能用本地图片

    微信小程序开发中wxss中不能用本地图片,我们可以用将我们的图片传到服务器上,然后直接引用在线地址.但是当我们没有服务器时,我们可以用"图床",这个具体可以百度.这里我们用第二种方 ...

  9. 程序开发中 status 还是 state

    对比: 程序开发中,两个都解释为状态: status表示关联状态的转变,例如[账户]的正常.冻结.删除: state表示非关联状态的转变,例如[枚举]: 参考: 程序代码中,怎么区分status和st ...

  10. java写微信小程序答辩问题_微信小程序 开发中遇到问题总结

    微信小程序 开发中遇到问题总结 1.由于小程序wx.request()方法是异步的,在app.js执行ajax后,各分页加载app.js的全局数据时,无法按顺序加载.例: //app.js App({ ...

最新文章

  1. linux svn自动提交,svn 定时自动提交
  2. 牛逼!硬核图解 Tomcat 整体架构
  3. Android Hal层简要分析
  4. mysql数据库基础(密码策略)
  5. 很是迷茫 ERP和HIS哪个更有发展前途?
  6. Deepin nginx lumen配置
  7. yum安装ruby_CentOS 7下配置Ruby语言开发环境的方法教程
  8. python-appium520-2初步使用
  9. 如何阅读Java源码?
  10. mcgscom口针脚定义_【各种接口针脚定义]
  11. Nutch开发(一)
  12. Mac OS X 背后的故事(三)Mach之父Avie Tevanian
  13. php实现文件下载,提示压缩包损坏解决方法
  14. 如何清理网易云无损flac格式留下的注释163key(Don't Modify):.........等牛皮癣?
  15. java使用cxf调用https方式的webservice
  16. 解决STC8串口2的txd发送脚无法使用的问题
  17. 关于SNMP远程管理端连接不上设备代理端问题
  18. PyCharm 格式化代码 (Reformat Code)
  19. numeral,格式化数字的使用
  20. mysql的3个排名函数

热门文章

  1. Bundle Adjustment原理及应用
  2. 生产宕机dunp配置
  3. Maven--可选依赖
  4. Win10系列:JavaScript 项目模板中的文件和项模板文件
  5. Section 2.2
  6. ASP.net C# EVal关于前端绑定
  7. 冒泡排序(数组排序不用Array.Sort)
  8. 煤岩分析仪测定煤的镜质体反射率和煤显微组分
  9. 【Matlab学习笔记】【图像滤波去噪】以-4,-8为中心的拉普拉斯滤波器
  10. dataframe 绘图——按照每列出一个图(df.plot)