DDMS 的全称是Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务。它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。
在集成开发环境中,有DDMS控制台窗口。如,MyEclipse中,有个叫DDMS的Console。
编辑本段1.如何启动DDMS
这个工具存放在SDK-tools路径下,启动方法:
1) 直接双击ddms.bat运行;
2) 在Eclipse调试程序的过程中启动DDMS,在Eclipse如下:
Window-Open Perspective-DDMS,点击启动就可以了
DDMS对Emulator和外接测试机同等效用,如果系统检测到它们(VM)同时运行,那么DDMS将会默认指向Emulator,以上两种启动后的操作有些不一样,建议分别尝试下;
编辑本段2.DDMS的工作原理
DDMS将搭建起IDE与测试终端(Emulator或者connected device)的链接,他们应用各自独立的端口监听调试信息,DDMS可以实时监测到测试终端的连接情况.当有新的测试终端连接后,DDMS将捕捉到终端的ID,并通过adb建立调试器,从而实现发送指令到测试终端的目的;
DDMS监听第一个终端APP进程的端口为8600,App进程将分配8601,如果有更多的终端或者更多App进程将按照这个顺序依次类推.DDMS通过8700端口接收所有终端的指令.
编辑本段3.通过GUI详细了解DDMS的一些功能
Devices:
在这个面板可以看到所有与DDMS连接的终端的信息,以及每个终端正在运行的App进程,每个进程的右边相对应的是与调试器链接的端口,因为Android是基于Linux内核开发的操作平台,同时也保留了Linux中特有的进程ID,它介于进程名和端口号之间;
Emulator Control:
通过这个面板的一些功能可以非常容易的使测试终端模拟真实手机所具备的一些交互功能比如:接听电话,根据选项模拟各种不同网络情况,模拟接受SMS消息和发送虚拟地址坐标用于测试GPS功能等;
Telephony Status:
通过选项模拟语音质量以及信号连接模式.
Telephony Actions:
模拟电话接听和发送SMS到测试终端.
Location Control:
模拟地理坐标或者模拟动态的路线坐标变化并显示预设的地理标识,可以通过以下3种方式:
Manual:
手动为终端发送二维经纬坐标。
GPX:
通过GPX文件导入序列动态变化地理坐标,从而模拟行进中GPS变化的数值.
KML:
通过KML文件导入独特的地理标识,并以动态形式根据变化的地理坐标显示在测试终端