http://www.cnblogs.com/feisky/archive/2010/01/01/1637566.html

--

Logcat

Dump一份系统消息的日志。这些消息包括模拟器抛出错误时的堆栈跟踪。

Android Log

一个记录日志的类,用来将消息写入模拟器上的日志文件中。如果你在DDMS上运行logcat的话你可以就实时查看消息。在你的代码中加入几个写日志方法的调用。
为了使用Log类,你只需要调用Log.v()(详细),Log.d()(debug),Log.i()(information),Log.w()(warning)
或者 Log.e()(error),根据你想获得的日志信息来选择相应的方法

Log.i("MyActivity", "MyClass.getView() — Requesting item number " + position)
你可以用logcat来读取这些信息

Traceview

Android可以保存一个日志用来记录被调用的方法以及该方法被调用的次数,通过Traceview你可以在一个图形化的界面中查看这个日志文件。

adb

Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器的状态。

发出Android命令: 你可以在你的开发机上的命令行或脚本上发布Android命令,使用方法:

adb [-d|-e|-s <serialNumber>] <command>

进入Shell:adb shell

查询模拟器/设备实例
adb devices 列出模拟器的序列号和状态

给特定的模拟器/设备实例发送命令
如果有多个模拟器/设备实例在运行,在发布adb命令时需要指定一个目标实例。 这样做,请使用-s
选项的命令。在使用的-s 选项是
adb -s <serialNumber> <command>
如:db -s
emulator-5556 install helloWorld.apk

安装软件:
adb install <path_to_apk>

从模拟器/设备中拷入或拷出文件
可以使用adbpull ,push
命令将文件复制到一个模拟器/设备实例的数据文件或是从数据文件中复制。install 命令只将一个.apk文件复制到一个特定的位置,与其不同的是,pull 和
push 命令可令你复制任意的目录和文件到一个模拟器/设备实例的任何位置。
从模拟器或者设备中复制文件或目录,使用(如下命):
adb pull
<remote> <local>
将文件或目录复制到模拟器或者设备,使用(如下命令)
adb push
<local> <remote>
在这些命令中, <local> 和<remote>
分别指通向自己的发展机(本地)和模拟器/设备实例(远程)上的目标文件/目录的路径
下面是一个例子::
adb push foo.txt
/sdcard/foo.txt

查询日志 adb logcat

Stopping the adb Server
在某些情况下,你可能需要终止Android 调试系统的运行,然后再重新启动它。
例如,如果Android 调试系统不响应命令,你可以先终止服务器然后再重启,这样就可能解决这个问题.
用kill-server 可以终止adb
server。你可以用adb发出start-server命令来重新启动服务器.

设备上调试和测试的设置

Android提供了众多的设置使你可以更容易的调试和测试程序。要进入开发设置页面,在模拟器中转到Dev Tools > Development
Settings
。在该设置页面有以下选项:

  • Debug app:选择要调试的程序。你不需要设定其关联至调试器,但是设定这个值有两个效果:
  • 在调试的时候,如果你在一个断点处暂停了过长的时间,这个设定会防止Android抛出一个错误
  • 这个设定使你可以选择“等待调试器”选项,使程序只有在调试器关联上之后才启动

Wait for
Debugger
:阻塞所选的程序的加载直到有调试器关联上,这样你就可以在onCreate()中设置断点,这对于调试一个Activity的启动进程是非常重要的。当你对该选项进行了更改,任何正在运行的程序的实例都会被终止。你只有在上面的选项中选择了一个调试程序才能够选中该选项。你也可以在代码中添加waitForDebugger()来实现同样的功能。

Immediately destroy
activities
:告诉系统一旦一个activity停止了就销毁该activity(例如当Android释放内存的时候)。这对于测试代码onFreeze(Bundle)/onCreate(android.os.Bundle)是非常有用的,否则会比较困难。如果你的程序没有保存状态,那么选择这个选项很可能会引发很多问题。

Show screen updates:对于任何正在被重绘的screen
sections都会在其上闪现一个粉红色的矩形。这对于发现不必要的screen绘制是很有必要的。
Show CPU
usage
:在屏幕上方显示CPU信息,显示有多少CPU资源正在被使用。上方红色条显示总的CPU使用率,它下方绿色的条显示CPU用在compositing
the screen上的时间。注意:在没有重启模拟器之前,一旦你开启了该功能就不能关闭。
Show screen
FPS
:显示当前的帧率。这对于查看游戏达到的总的帧率是非常有用的。注意:在没有重启模拟器之前,一旦你开启了该功能就不能关闭。
Show background:当没有activity
screens可见时,显示一个背景模式。一般是不会出现的,仅仅在Debug的时候会出现。

设定的选项在模拟器重启之后仍然有效,如果要取消设定的选项,在取消设定以后还要重启模拟器,才能生效。

重要的调试小提示

快速的堆栈dump

要在模拟器上获得一个堆栈dump,你可以通过adb shell登入,用“ps”找到你想要的进程,然后“kill -3”,
堆栈跟踪信息就会记录到日志文件中了。

在模拟器屏幕上显示有用信息

设备上可以显示诸如CPU利用率或者对重绘区域的边缘高亮显示等有用信息,在开发设置窗口可以打开或者关闭这些功能。

从模拟器上获取系统状态信息(dumpstate)

你可以通过Dalvik Debug Monitor Service工具来获得dumpstate信息。

从模拟器上获取程序状态信息(dumpsys)

你可以通过Dalvik Debug Monitor Service工具来获得dumpsys信息。

获取无线连接信息

你可以通过Dalvik Debug Monitor Service工具来获得无线连接信息。在Device菜单,选择“Dump radio state”

日志记录跟踪数据

你可以在一个activity中通过调用android.os.Debug.startMethodTracing()来用日志来记录方法调用和其他跟踪数据。

日志记录Radio Data

默认情况下,radio信息是不会记录在系统中的(因为数据量巨大)。然而,你可以通过下面的命令来开启radio记录
adb shell
logcat -b radio

运行adb

Andoid中自带了一个叫adb的工具,该工具功能强大,可以移动并同步文件到模拟器,转发端口。在模拟器上运行一个UNIX shell。

从模拟器上获取屏幕截图

Dalvik Debug Monitor Server (DDMS)可以从模拟器上获取屏幕截图

利用调试帮助类

Android为了开发者的方便提供了诸如util.Log和Debug等帮助类

命令行运行程序的方法

参考:http://www.javaeye.com/topic/201856 
http://www.javaeye.com/topic/149227

进入shell

引用
C:\Documents and Settings\mawenjian>adb
shell

看一下命令的帮助

引用

# am -help
am
-help
Error: Unknown command:
-help
usage: am
[start|instrument]
       am start
[-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
                [-c <CATEGORY> [-c
<CATEGORY>] ...]
                [-e <EXTRA_KEY>
<EXTRA_VALUE> [-e <EXTRA_KEY> <EXTRA_VALUE> ...]
                [-n <COMPONENT>]
[-D] [<URI>]
       am
instrument [-e <ARG_NAME> <ARG_VALUE>] [-p <PROF_FILE>]
                [-w]
<COMPONENT>

好了,试一下启动浏览器

引用
# am start -n
com.google.android.browser/com.google.android.browser.BrowserActivity
am start -n
com.google.android.browser/com.google.android.browser.BrowserActivity
Starting: Intent {
comp={com.google.android.browser/com.google.android.browser.BrowserActivity}
}

ok,成功了
大家试试下面的命令吧:

引用

# am start -a android.intent.action.VIEW -d
http://mwjian.javaeye.com
am start
-a android.intent.action.VIEW -d http://mwjian.javaeye.com
Starting: Intent {
action=android.intent.action.VIEW data=http://mwjian.javaeye.com }

# am start -a
android.intent.action.CALL -d tel:88888888
am start -a android.intent.action.CALL
-d tel:88888888
Starting: Intent {
action=android.intent.action.CALL data=tel:88888888 }

# am start -a
android.intent.action.ALL_APPS
am
start -a android.intent.action.ALL_APPS
Starting: Intent {
action=android.intent.action.ALL_APPS }

# am start -a
android.intent.action.VIEW geo:0,0?q=shanghai
am start -a android.intent.action.VIEW
geo:0,0?q=shanghai
Starting: Intent
{ action=android.intent.action.VIEW data=geo:0,0?q=shanghai
}

本文参考:Android手册 www.cnblogs.com/jacktu
万能的G.cn

转载于:https://www.cnblogs.com/Jessy/archive/2012/01/17/2324414.html

[转】:Android调试工具及方法相关推荐

  1. android ne调试工具,Android调试工具adb的正确使用方式

    引言: 通常在使用Eclipse进行Android应用开发的时候,我们可以使用Eclipse自带的工具来完成调试和查看输出日志的操作,但是假如在当前电脑并没有配置适用于Android开发的Eclips ...

  2. Android调试工具adb的高逼格使用方式

    引言: 通常在使用Eclipse进行Android应用开发的时候,我们可以使用Eclipse自带的工具来完成调试和查看输出日志的操作,但是假如在当前电脑并没有配置适用于Android开发的Eclips ...

  3. android phonegap插件开发方法 plugin

    2019独角兽企业重金招聘Python工程师标准>>> android phonegap插件开发方法 plugin 分类: phonegap 2014-03-03 22:41  59 ...

  4. Android getWindow().setFlags方法

    Android getWindow().setFlags方法 //设置窗体全屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCR ...

  5. Android调试工具之ADB

    Android调试工具之ADB 1.     什么是ADB adb的全称为Android Debug Bridge,顾名思义,这个是PC机与Android设备的连接桥.简单的说,就是通过adb ,PC ...

  6. android+发邮件,Android发送邮件的方法实例详解

    Android发送邮件的方法实例详解 时间:2021-05-20 本文实例讲述了Android发送邮件的方法.分享给大家供大家参考,具体如下: 在android手机中实现发送邮件的功能也是不可缺少的. ...

  7. 不常见但很有用的chrome调试工具使用方法

    前面的话   对于chrome调试工具,常用的是elements标签.console标签.sources标签和network标签.但实际上,还有一些不太常见但相当实用的方法可以提高网页调试效率.本文将 ...

  8. [转]JS调用Android里面的方法,Android调用JS里面的方法

    FROM : http://blog.csdn.net/hj563308597/article/details/45197709 Android WebView 在公司Android的开发过程中遇到一 ...

  9. Android之Inflate()方法用途+setContentView和inflate区别

    引用:http://blog.chinaunix.net/uid-27024249-id-3304935.html Android之Inflate()方法用途 Inflate()作用就是将xml定义的 ...

最新文章

  1. tableau必知必会之轻松搞定 关系网 图表
  2. word2vec原理(一): 词向量、CBOW与Skip-Gram模型基础
  3. [转] jQuery源码分析-如何做jQuery源码分析
  4. oracle怎么优化动态sql语句,oracle动态sql语句处理
  5. 面向对象之反射、包装、(定制)
  6. 硬盘快速格式化和格式化的区别
  7. 计算机组成原理第六章难,计算机组成原理第六章答案
  8. 市场上的视觉图像采集卡软硬功能对比
  9. html视频文件哪种格式好,常见的视频格式有哪些?
  10. java 日期 英文月份_java日期月份转英文格式
  11. 小程序二维码和小程序带参数二维码生成
  12. Linux:进程(二)
  13. UVALIVE 2678
  14. 20190605学习日记
  15. Leaflet 可视化--风场、海浪、洋流、气压、温度等
  16. java 1 2 等于_java 判断语句中一个等于号和两个等于号的区别是什么?
  17. Markdown使用手册【基础篇】
  18. 亚马逊POA计划怎么写
  19. Fusioncharts介绍
  20. win7无线网突然上不了网桌面有个黄色三角叹号dns服务器未响应,Win7系统DNS服务器未响应的解决方法...

热门文章

  1. oracle数据库连接满了,ORACLE数据库连接数满的分析及优化
  2. zigbee板子:lcd显示汉字
  3. mysql undrop_MySQL 如何对InnoDB使用Undrop来恢复InnoDB数据
  4. linux下如何bash文件,Linux系统的文件管理命令及bash的相关工作特性
  5. 圆管当量直径_截面相同时,正方型截面的当量直径大于圆管直径。( )。
  6. python利用pandas合并excel表格代码_利用Python pandas对Excel进行合并的方法示例
  7. Java_FileInputStream_读一个文件
  8. java定义说话方法_类定义的基本形式_Java语言程
  9. JAVA增删查改的实现
  10. mysql srid_mysql8 参考手册--索引优化