`
yanlijun250
  • 浏览: 750760 次
文章分类
社区版块
存档分类
最新评论

简单介绍如何应用DDMS协助开发Android Apps

 
阅读更多

DDMS 的全称是Dalvik Debug Monitor Service,它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。

DDMS 工具存放在SDK -tools/路径下,可以直接双击ddms.bat运行,也可以通过terminal/console(CLS)输入ddms(在Mac或者Linux系统中输入./ddms)启动程序。DDMS对Emulator和外接测试机有同等效用。如果系统检测到它们(VM)同时运行,那么DDMS将会默认指向Emulator。
DDMS 的工作原理
DDMS将搭建起IDE与测试终端(Emulator 或者connecteddevice)的链接,它们应用各自独立的端口监听调试器的信息,DDMS可以实时监测到测试终端的连接情况。当有新的测试终端连接后,DDMS将捕捉到终端的ID,并通过adb建立调试器,从而实现发送指令到测试终端的目的。
DDMS监听第一个终端App进程的端口为8600,APP进程将分配8601,如果有更多终端或者更多APP进程将按照这个顺序依次类推。DDMS通过8700端口(”base port”)接收所有终端的指令。如果想了解更多资料Configuring your IDE to attach to port 8700 for debugging

通过File > Preferences查看DDMS相关设置,所有的参数设定将保存在 “$HOME/.ddmsrc”


下边通过GUI简单了解DDMS的一些功能:

Devices

在GUI的左上角可以看到标签为”Devices”的面板,这里可以查看到所有与DDMS连接的终端的详细信息,以及每个终端正在运行的APP进程,每个进程最右边相对应的是与调试器链接的端口。因为Android是基于Linux内核开发的操作平台,同时也保留了Linux中特有的进程ID,它介于进程名和端口号之间。

在面板的右上角有一排很重要的按键他们分别是Debug the selected process、Update Threads、Update Heap、Stop Process和ScreenShot。

Debug Selected Process:用于表现被选择进程与调试器连接状态,如果进程前带有绿色表示,那么说明该进程的工程文件在当前Workspace中处于打开状态,并允许我们开启调试器监听进程运行情况。

Update Threads: 用于查看当前进程所包含的线程。当选中任意进程后,点击这个命令可以在右侧面板的Threads标签里看到详细的线程运行情况,同时在被选中的进程名称后边会出现显示线程信息标识。

Update Heap: 与上一个Update Threads类似,只不过这个命令用于查看当前进程堆栈内存的使用情况。

Stop Process: 这个应该非常容易理解,终止当前进程。

ScreenShot: 截取当前测试终端桌面。

Emulator Control

通过这个面板的一些功能可以非常容易的使测试终端模拟真实手机所具备的一些交互功能,比如:接听电话,根据选项模拟各种不同网络情况,模拟接受SMS消息和发送虚拟地址坐标用于测试GPS功能等。

  • Telephony Status: 通过选项模拟语音质量以及信号连接模式。
  • Telephony Actions: 模拟电话接听和发送SMS到测试终端。
  • Location Control: 模拟地理坐标或者模拟动态的路线坐标变化并显示预设的地理标识。
    • Manually send individual longitude/latitude coordinates to the device : 手动为终端发送二维经纬坐标。
    • Use a GPX file describing a route for playback to the device : 通过GPX文件导入序列动态变化地理坐标,从而模拟行进中GPS变化的数值。
    • Use a KML file describing individual placemarks for sequenced playback to the device : 通过KML文件导入独特的地理标识,并以动态形式根据变化的地理坐标显示在测试终端。

Logcat

现实所有针对测试终端操作的日志记录,可以很明显的区分开警告信息和错误信息。


利用DDMS从模拟器上导入导出文件学习内容: 你将学会如何使用Eclipse的DDMS-View 从模拟器上导入导出文件 .  描述:
  依照下图打开 DDMS-View . (如果你上面没有按钮A, 那么请按照 B所示方式打开).

  打开文件浏览器,使用右上角的导入导出按钮来操作目标文件..

  另外一种导入方法:

  运行模拟器,在命令行模式下到 “…/android_sdk/tools”目录下,使用下面的命令

adb push <local_source> <emulator_destination>

Android截图方法之DDMS篇提起Android截图,这里虽然Google在Android操作系统中提供了帧缓存的权限许可,但是没有Root权限仍然无法很好的截图,现在安装好Android SDK和Eclipse,在DDMS中可以看到连接Devices标签中找到可用的唯一个图标,如图下图所示:
最终在Device Screen Capture窗口中就是Android屏幕截图效果,直接单击Save按钮即可保存图片为PNG格式。如图

不使用DDMS打电话
通过gsm call命令可以像Android模拟器打电话,除了在EclipseADT的DDMS中通过按钮Dial外,还可以通过DDMS外壳调用gsm call命令直接拨打,我们首先需要启动AndroidEmulator,然后在cmd环境下执行telnet localhost 5554 下面就可以向Android模拟器拨号,参数为gsmcall < phoneNum> ,比如给10086打电话为gsm call +10086

分享到:
评论

相关推荐

    Android移动应用开发 第3版 卷1卷2合集part2

    Android移动应用开发 第3版 卷1基础篇和卷2提高篇的合集 《android移动应用开发 第3版 卷Ⅰ:基础篇》由Lauren Darcey Shane Conder著 北京麦秆创智信息技术有限公司译 涵盖了android开发从概念 技术到市场推广应用...

    Android移动应用开发从入门到精通 书签版

    《Android移动应用开发从入门到精通》涵盖了Android开发从概念、技术到市场推广应用的全部话题,内容包括:Android概览、Android应用程序设计精髓、Android用户界面设计精髓、常用AndroidAPI、更多Android应用程序...

    Android移动应用开发 第3版 卷1卷2合集part1

    Android移动应用开发 第3版 卷1基础篇和卷2提高篇的合集 《android移动应用开发 第3版 卷Ⅰ:基础篇》由Lauren Darcey Shane Conder著 北京麦秆创智信息技术有限公司译 涵盖了android开发从概念 技术到市场推广应用...

    android下如何调试程序,Eclipse使用DDMS

    向Android应用程序关联调试器 4 监视Android应用程序的线程活动 5 在Android应用程序中触发垃圾回收(GC) 5 监视Adroid应用程序的堆活动 5 终止Android进程 5 使用文件浏览器 6 从模拟器或设备上拷贝文件 6 向...

    android移动应用开发(第3版)卷Ⅰ:基础篇。正文扫描版

    《android移动应用开发(第3版)卷Ⅰ:基础篇》由Lauren Darcey、Shane Conder著,北京麦秆创智信息技术有限公司译,涵盖了android开发从概念、技术到市场推广应用的全部主题,内容包括android平台概览、android应用...

    Android移动应用开发(第3版)卷Ⅰ基础篇 (Shane Conder, Lauren Darcey) PDF扫描版

     《Android移动应用开发(第3版)卷Ⅰ:基础篇》涵盖了Android开发从概念、技术到市场推广应用的全部主题,内容包括Android平台概览、Android应用程序设计精髓、Android用户界面设计精髓、Android应用程序设计精髓、...

    [Android开发从零开始].6.DDMS视图和Button

    [Android开发从零开始].6.DDMS视图和Button

    老罗android开发视频教程全集百度网盘下载

    Android基础阶段:平台架构特性(JAVA/C) Market/应用程序组件 环境搭建与部署/打包与发布 AVD/DDMS/AAPT 调试与测试 相关资源访问/资源制作 Activity/Service/Broadcast Receiver/Content Provider/原理(生命周期)及...

    android x86镜像,支持以太网,可连接DDMS进行开发调试(part2/2)

    目前的3.2和4.0都不支持以太网,无法进行android开发. 使用此2.3版本,可以上网,使用adb连接DDMS,在eclipse上进行android程序的调试. 使用时请参考android x86修改分辨率相关的教程.

    Android开发案例驱动教程 配套代码

    17.2 短信和彩信应用开发 450 17.2.1 Android内置的发送短信/彩信功能 450 17.2.2 自己编写发送文本内容的短信 452 17.2.3 自己编写接收文本内容的短信 458 17.2.4 自己编写发送二进制内容的短信 459 17.2.5 ...

    android x86镜像,支持以太网,可连接DDMS进行开发调试(part1/2)

    目前的3.2和4.0都不支持以太网,无法进行android开发. 使用此2.3版本,可以上网,使用adb连接DDMS,在eclipse上进行android程序的调试. 使用时请参考android x86修改分辨率相关的教程.

    Android应用源码之6.DDMS视图和Button.zip

    Android 应用开发源码 参考与学习使用

    Android高级编程--源代码

    由于现有的手机应用程序的开发是构建在各手机厂家的私有操作系统之上的,所以它限制了第三方应用程序的开发,而Android为我们提供了一个开放和通用的选择。因为没有了人为制造的障碍,所以Android开发人员可以自由地...

    ddms_traceView.zip

    这是一个通过DDMS分析Android的CPU占用过高生成的TraceView文件,希望对使用TraceView有帮助。

    Android_Toolkit_V1.4(Android开发工具集)

    本软件是一款轻捷的Android Java应用程序安装、调试工具,部分功能可以在google提供的Android SDK开发包里面的DDMS(Dalvik Debug Monitor Service (DDMS) Tool)找到官方的实现。DDMS功能很强大,但功能过于繁多,...

    疯狂Android讲义源代码2

    1.6 Android应用的基本组件介绍 1.6.1 Activity和View 1.6.2 Service 1.6.3 BroadcastReceiver 1.6.4 ContentProvider 1.6.5 Intent和IntentFilter 1.7 本章小结 第2章 Android应用的界面编程 第3章 事件处理...

    [Android移动应用开发从入门到精通].扫描版.pdf

    《Android移动应用开发从入门到精通》涵盖了Android开发从概念、技术到市场推广应用的全部话题,内容包括:Android概览、Android应用程序设计精髓、Android用户界面设计精髓、常用AndroidAPI、更多Android应用程序...

    Android-ddms方法分析跟踪

    Android 调试工具ddms的devices栏目存在一个功能叫做start method profiling,此按钮顾名思义是启动method profiling的,而Android的Method Profiling功能,是可以在一段时间内记录所有运行过的函数,最后生成一个...

    一种基于Android开发环境的调试工具DDMS.pdf

    一种基于Android开发环境的调试工具DDMS.pdf

    Android移动开发一本就够

    《Android移动开发一本就够》涵盖了Android开发从概念、技术到市场推广应用的全部话题,内容包括:Android概览、Android应用程序设计精髓、Android用户界面设计精髓、常用Android API、更多Android应用程序设计原则...

Global site tag (gtag.js) - Google Analytics