论文中期报告怎么写:3.6.2 DDMS除错监控系统

来源:百度文库 编辑:九乡新闻网 时间:2024/07/07 09:44:54

3.6.2 DDMS除错监控系统

http://book.51cto.com  2009-12-28 19:29  杨文志  电子工业出版社  我要评论()
  • 摘要:《Google Android程序设计指南》第3章Android SDK开发平台应用,本章的主要内容有Android仿真器;Android仿真器启用SD存储卡的方法;如何开启Android仿真器的多媒体功能;安装/移除APK应用程序;Android已开发程序示范与应用;Android SDK开发工具使用方法;Android已开发程序示范与应用;破解Android系统root权限。本节为大家介绍DDMS除错监控系统。
  • 标签:Google Android  程序设计  Google Android程序设计指南

3.6.2  DDMS除错监控系统

除错工具除了adb之外,还有一个是全名为Dalvik Debug Monitor Service(简称为ddms)的除错工具。顾名思义ddms它将程序在Dalvik Runtime运行时发生的错误以logcat回传给开发者,而且ddms还支持画面选取功能,可以将发生错误的消息或画面选取下来以方便除错。另外ddms还支持一个port forwarding的功能,可以将这个除错工具直接安装到真正的Android手机上,也就是说当一般使用者在运行这些应用程序时,若发生未知的错误,也可以将这些错误消息拦截下来,并回传给程序开发者。其实,adb与ddms是互为表里,ddms需要通过adb衔接到Android仿真器或手机装置进行错误监控,因为Android的平台是Linux,它支持多任务多运行绪,因此每一个在Android上面运行的应用程序,都有单独的进程,创建起单独的Dalvik虚拟机器,并通过单独的port连接到ddms除错工具,例如现在这个应用程序是使用port 8600,下一个应用程序就是使用Port 8601,这样一直延续下去和ddms做连接,即使同时运行多个应用程序,每一个应用程序发生的错误都会各别发送到ddms进行记录,而不会有漏掉的情况。

ddms除错工具放置在Android SDK的 tools目录下,请开启一个终端机命令模式窗口以指令方式运行它,就会启动一个Dalvik Debug Monitor窗口,如图3-30所示。运行ddms之前,请记得先启动Android仿真器。

  1. ddms 
  (点击查看大图)图3-30  ddms除错监控系统

ddms窗口中显示当前正在仿真器中运行的所有进程(process)名称、进程号码(pid)与ddms监听除错的通信端口,因为Android操作系统支持多任务,所以每一个单独的进程都创建了单独的Dalvik虚拟机器程序,通过单独的通信端口与ddms做连接,可以看到除错通信端口就从8600、8601、8602…依次排到8609。当启动更多的程序时,这个监控画面就会增加更多的监听通信端口。而ddms画面的下面方框实时显示每一个程序(以pid进程号码表示)通过Dalvik虚拟机器(dalvikvm)所传出的实时消息,也就是运行adb logcat时所显示的除错消息,开发人员可以由这些消息实时监看所开发的应用程序是否有任何问题,而且ddms画面上还有自动分类功能,点选上面的小图标有V(Verbose显示全部消息)、D(Debug显示除错消息)、I(Info一般消息)、W(Warning警告消息)或E(Error错误消息),也可以将错误消息保存起来或清除掉。最后ddms右上角的窗口显示着Android系统的CPU负载、内存使用状况等消息,还有可以控制仿真器系统的Emulator Control选项,可以设置手机模式为Full(全模)或是仅使用GSM、GRPS、EDGE或HSDPA等通信系统以节省电力,另外还可以设置仿真器的GPS位置,选项有手动输入(manual)或装入GPX文件或装入Google Earth生成的KML地图文件。

1.ddms的资源管理器功能

另外您是否发现Android SDK仿真器内并没有任何类似资源管理器的工具,也许可以使用命令模式adb shell进行文件管理,但是还是没有窗口界面方便,ddms就提供了非常好的资源管理器功能。点选ddms功能菜单中的Device选项,里面有一个File Explorer项目,就可以启动资源管理器,以便浏览SD存储卡目录/sdcard或是Android系统内的文件目录,如图3-31所示。

  (点击查看大图)图3-31  ddms内附的文件管理功能

请注意:File Explorer画面上有三个小图标,往左箭头的第一个小图标就是adb pull功能,可以直接将Android手机或仿真器上的文件下载到计算机上;往右箭头的中间图标就是adb push功能,可以将计算机上的文件上传到Android手机或仿真器的SD存储卡上;最后一个拥有红色一杠的小图标就是文件删除功能。如此一来,可以让Android系统与个人计算机系统间的文件发送变得相当方便。但是,在将文件上传到SD存储卡目录时,记得正在运行的Android仿真器并无法实时反映刚刚使用File Explorer放上去的文件,记得重新运行 emulator -sdcard sdcard.img指令,重新启动一次Android仿真器,才能让仿真器内的应用程序正确读取刚刚放到SD存储卡上的文件。

2.ddms画面撷取功能

最后在监控系统方面,可以点选ddms功能菜单的"Device→Screen Capture"或是直接按快捷键Ctrl+S,就可以直接抓取Android仿真器当前屏幕上的画面,如图3-32所示。可以在画面截取窗口中点选refresh更新画面或save保存画面为PNG图像,以方便除错。

3.ddms系统检视功能
   图3-32  ddms的仿真器
画面截取功能

另外也可以选择ddms功能菜单的"Device→show process status",它会显示Andriod系统上所有正在运行的进程,就如同Linux系统的ps-x指令,您也可以运行adb shell ps-x指令得到同样的结果。而Device→Dump device state就是adb shell dumpsys显示所有的系统消息,最后的ddms功能选项 Device→Run logcat就是adb logcat显示ddms画面上的除错消息。