转自:http://blog.csdn.net/yihui823/article/details/6686578
本文章的前提:已经安装了Eclipse和ADT。android SDK也下载完毕。Eclipse里面已经设置好了andro本文章的前id SDK。
本文章将系统的介绍Android调试的各个工具。讲的会比较细,希望对大家有所帮助。
DDMS
Android SDK单独提供了DDMS的命令,我们在[android-sdk-home]/tools目录下输入ddms,也会弹出独立的DDMS窗口。这里我们还是直接使用Eclipse集成的DDMS。
DDMS 的全称是Dalvik Debug Monitor Service,它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。
在Eclipse的右上角,可以选择Perspective。我们选择DDMS,Eclipse进入如下布局tools-007:
在左上角有Devices的页签,我们选择当前的虚拟机:emulator-5554,显示当前虚拟机的各项内容。在Devices页签的右边,一排快捷方式里面,有个很重要的按钮“Screen Capture”,顾名思义就是截图,可以把当前虚拟机的图片给截下来。如果连接的不是虚拟机,而是真机,也能把手机的当前屏幕截图下来。如下图:tools-008
这个不多说,知道有这么个有用的工具就行。
Devices页签的右边的子窗口,有三个页签:Threads,Heap,File Explorer
也是顾名思义,分别可以查看手机的线程情况,内存堆栈情况,以及文件情况。
选择File Explorer页签的时候,右边有两个很有用的按钮,分别是上传文件和下载文件。这个功能单独用ADB也能实现。在这里也是个不错的选择。
最下面的子窗口,就是logcat,查看当前连接的手机的log。看log就不多说了。Log页签的右边,有一排快捷方式。先是选择Log等级,从Verbose到error,一共5个按钮。再右边就是过滤按钮,可以设置Log的过滤条件,只看我们想看的log。点击那个绿色的加号,得到下面的窗口:tools-009
过滤器需要取一个名字。尽量用有意义的名字,不要省事用什么aaa。
Log Tag就是在代码里输出Log的时候,第一个log tag参数,用以对log进行分类。我的做法一般喜欢用当前所在的Class名作为Log的tag。
pic就是所在的进程编号。在Devices子窗口,看Online的那一列,就是各个进程的pid号。
Log level就不多解释了,打log的人应该都懂的。
我们试着建一个Log过滤器。看system_process进程的pid,是72,tag填:ActivityManager,如下图:tools-010
点击OK之后,我们看到的log就都是系统的Activity管理相关的Log了。
最后,中间的Emulator Control子窗口,介绍一个也是常用的功能:模拟打电话和收短信。
如下图:tools-011
输入10010,选择Voice,点击”Call”按钮,DDMS会模拟10010这个号码向虚拟机打了一个电话。这个时候我们可以看到,虚拟机进入来电状态。我们可以操作虚拟机接听电话,然后再到Emulator Control这里挂断电话。这个操作的快感就让读者自己去体会了。^_^