文档章节

Android开发工具之DDMS

蜀山下的鱼
 蜀山下的鱼
发布于 2015/04/29 00:38
字数 1289
阅读 43
收藏 0

      DDMS 的全称是Dalvik Debug Monitor Service,它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。DDMS为IDE和emultor及真正的android设备架起来了一座桥梁。开发人员可以通过DDMS看到目标机器上运行的进程/现成状态,可以android的屏幕到开发机上,可以看进程的heap信息,可以查看logcat信息,可以查看进程分配内存情况,可以像目标机发送短信以及打电话,可以像android开发发送地理位置信息。可以像GDB一样attach某一个进程调试。 SDKàtools目录下提供了ddms的完整版,直接双击ddms.bat运行即可。下面以Eclipse的DDMS perspective为例简单介绍DDMS的功能。

      跟debug,java的perspective一样,安装好adt后会有一个DDMS得perspective,打开即可。

clip_image001

      如果perspective里没有显示DDMS,刚按如下步骤执行:

  •       点击上图中DDMS图标左边的那个图标,然后在下图中如果有DDMS,刚选择,如果没有,刚选择“其他”,然后在出现的窗口中双击“DDMS”即可。

clip_image003clip_image005

      注意:DDMS对Emulator和外接测试机有同等效用。如果系统检测到它们(VM)同时运行,那么DDMS将会默认指向 Emulator。以上2种启动后的操作有些不一样,建议分别尝试下。

      DDMS 的工作原理

      DDMS将搭建起IDE与测试终端(Emulator 或者connected device)的链接,它们应用各自独立的端口监听调试器的信息,DDMS可以实时监测到测试终端的连接情况。当有新的测试终端连接后,DDMS将捕捉到终端的ID,并通过adb建立调试器,从而实现发送指令到测试终端的目的。

clip_image006

      DDMS监听第一个终端App进程的端口为8600,APP进程将分配8601,如果有更多终端或者更多APP进程将按照这个顺序依次类推。DDMS通过8700端口(“base port”)接收所有终端的指令。

      打开后的窗口为:

clip_image008

      下边通过GUI详细了解DDMS的一些功能

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

      device窗口罗列模拟器中所有的进程,右上角那一排按钮分别为:调试某个进程,更新某个进程,更新进程堆栈信息,停止某个进程,最后一个图片按钮时抓取android目前的屏幕。

clip_image006[1]

      当你选中某个进程,并按下调试进程按钮时,如果eclipse中有这个进程的代码,那就可以进行源代码级别的调试。有点像GDB attach。图片抓取按钮可以把当前android的显示桌面抓到你的机器上,也是非常有用。

      右边那个窗口中有threads, heap , file explorer选项卡。分别显示线程统计信息,栈信息,以及android的文件系统。

clip_image009

      file explorer非常有用,他可以把文件上传到android手机,或者从手机下载下来,也可以进行删除操作。选中file explorer选项卡后,按下面三个按钮便可实现对android手机文件系统的上传,下载,删除操作。

clip_image010

      emulator control也是非常重要的,通过它可以像手机发送短信, 打电话,已经更新手机位置信息。

            Telephony Status: 通过选项模拟语音质量以及信号连接模式。 
            Telephony Actions: 模拟电话接听和发送SMS到测试终端。 
            Location Control: 模拟地理坐标或者模拟动态的路线坐标变化并显示预设的地理标识,可以通过以下3种方式:

                  · Manual: 手动为终端发送二维经纬坐标。

                  · GPX: 通过GPX文件导入序列动态变化地理坐标,从而模拟行进中GPS变化的数值。

                  · KML: 通过KML文件导入独特的地理标识,并以动态形式根据变化的地理坐标显示在测试终端。

clip_image011

clip_image013

      LogCat:显示输出的调试信息。

      Console(控制台):是Android模拟器输出的信息,加载程序等信息;

      总结:

            eclipse adt目前提供的的ddms功能只是真正ddms的一小部分,你 可以直接使用tools下面的ddms来使用所有功能。其中有一个查看进程内存分配的功能比较有用。

            另个要注意的是,在DDMS中模拟发送短信时,中文显示为乱码,在未来的开发中,我们必须要注意中文字符的问题。

本文转载自:http://blog.csdn.net/caiwenfeng_for_23/article/details/12913671

蜀山下的鱼
粉丝 9
博文 405
码字总数 0
作品 0
广州
高级程序员
私信 提问
在Android Studio中打开DDMS

DDMS(Dalvik Debug Monitor Service),提供了一系列的调试服务,如logcat、设备屏幕截图、查看进程等等的辅助调试服务。 本经验介绍怎样在Android Studio中打开DDMS窗口。 工具/原料 Androi...

szmneo
2015/05/24
2.6K
1
8 个最好的 Android 开发者工具

1) The SDK and AVD Manager 这个工具是用来添加、更新Android SDK的组件的,例如新的API。 2) Android ADT 这是Eclipse的Android开发者查件,为Android开发提供了一个可视化的集成开发环境。...

虫虫
2011/10/05
10.6K
9
Android DDMS如何使用?

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

Kevin_Gan
2010/08/19
5.2K
1
使用Android开发方便快捷的8 个好工具

Android是目前最流行的移动操作系统之一,Android应用开发目前也正变得越来越流行。这里有8个最好的 Android工具,在这些工具的帮助下,开发人员可以更方便、快捷地开发应用程序。 1. SDK和A...

android技术开发
2013/07/29
78
0
Android DDMS如何使用?

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

Kevin_Gan
2010/07/07
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

【0918】正则介绍_grep

【0918】正则介绍_grep 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 一、正则介绍 正则是一串有规律的字符串,它使用单个字符串来描述或匹配一系列符合某个语法规则的字符串。 二、grep工具 ...

飞翔的竹蜻蜓
17分钟前
4
0
为什么要在网站中应用CDN加速?

1. 网页加载速度更快 在网站中使用CDN技术最直接的一个好处就是它可以加快网页的加载速度。首先,CDN加速的内容分发是基于服务器缓存的,由于CDN中缓存了不少数据,它能够给用户提供更快的页...

云漫网络Ruan
55分钟前
8
0
亚玛芬体育(Amer Sports)和信必优正式启动合作开发Movesense创新

亚玛芬体育和信必优正式启动合作开发Movesense创新,作为亚玛芬体育的完美技术搭档,信必优利用Movesense传感器技术为第三方开发移动应用和服务。 Movesense基于传感器技术和开放的API,测量...

symbiochina88
今天
4
0
创龙TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA核心板规格书

SOM-TL437xF是一款广州创龙基于TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA芯片设计的核心板,采用沉金无铅工艺的10层板设计,适用于高速数据采集和处理系统、汽车导航、工业自动化等领...

Tronlong创龙
今天
4
0
好程序员Java学习路线分享MyBatis之线程优化

  好程序员Java学习路线分享MyBatis之线程优化,我们的项目存在大量用户同时访问的情况,那么就会出现大量线程并发访问数据库,这样会带来线程同步问题,本章我们将讨论MyBatis的线程同步问...

好程序员官方
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部