您的位置:首页 > 移动开发 > Android开发

Android常用命令以及log抓取方法

2014-04-04 19:07 579 查看

Adb常用命令

1.安装好sdk后运行adb的方法:
运行cmd,输入cd \回车
输入F:回车
输入cd sdk tools文件目录 回车
2.复制sdk tools文件详细目录,进入c:\windows\system32\cmd,右键点击cmd文件,发送快捷方式到桌面,右键单击桌面---属性,把sdk tools详细目录路径粘贴到起始位置。

3.手机连接数据线,在电脑上打开cmd,然后输入命令

  adb remount

  adb shell

  su

[U1]   执行完成之后,你会看到:

  * daemon not running. starting it now *

  * daemon started successfully *

  4.接着就是Linux命令行模式了,输入

  cd system/app

  你会发现没啥变化,然后输入ls[U2] 回车.

  这时候列表显示了system/app里面的所有文件,也就是Rom集成的一些软件了.

  5.开始删除吧.比如删除Youtube,他的文件名是Youtube.odex和Youtube.apk

  我们要删除这2个文件,敲入以下命令:

  rm Youtube.*

  重启,Youtube已经删除掉了,注意各位同学千万不要删除你不知道是啥的东西.

  指定允许AVD的内存大小:

  emulator -avd avdName -partition-size 256

  启动一个叫avdName的模拟器,允许内存最大为256MADB常用的几个命令

  1. 查看设备

  adb devices

  这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示

  2. 安装软件

  adb install

  这个命令将指定的apk文件安装到设备上

  3. 卸载软件

  adb uninstall <软件名>

  adb uninstall -k <软件名>

  如果加 -k 参数,为卸载软件但是保留配置和缓存文件.

  4. 登录设备shell

  adb shell

  adb shell

  这个命令将登录设备的shell.

  后面加将是直接运行设备命令, 相当于执行远程命令

  5. 从电脑上发送文件到设备

  adb push <本地路径> <远程路径>

  用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)

  6. 从设备上下载文件到电脑

  adb pull <远程路径> <本地路径>

  用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑

  7. 显示帮助信息

  adb help

  这个命令将显示帮助信息
8.重启手机
Adb reboot (Recovery/bootloader)
9.
Adbwait-for-device 等待设备响应 常用于安装之类的脚本中
adbversion 查看adb版本 常和if语句搭配用于检测是否存在adb工具
adbget-state 判断设备状态 常用于脚本刷机时的设备状态判断
10.发布端口
Adb forward tcp:5555 tcp:8000
可以设置任意的端口号,做为主机向模拟器或设备的请求端口
11获取设备的ID和序列号
Adb get-product
Adbget-serialno
可以在Android shell下使用的一些linux命令
命令:

Java代码
ls // 查看目录
date // 打印或设置当前系统时间
cat/proc/meminfo // 查看内存信息
cat/proc/cpuinfo // 查看CPU信息

Adb常用抓取log命令

1、 adb shell

logcat –v time –b radio &

logcat –v time &

cat /proc/kmsg &

logcat –b events –v threadtime &

2. logcat使用方法如下所示:

logcat [options] [filterspecs]

logcat的选项包括:

-s 设置过滤器,例如指定 '*:s'

-f <filename> 输出到文件,默认情况是标准输出。

-r [<kbytes>] Rotate log every kbytes. (16 if unspecified). Requires -f

-n <count> Sets max number of rotated logs to <count>, default 4

-v <format> 设置log的打印格式,<format>
是下面的一种:

brief process tag thread raw time threadtime long

-c 清除所有log并退出

-d 得到所有log并退出 (不阻塞)

-g 得到环形缓冲区的大小并退出

-b <buffer> 请求不同的环形缓冲区 ('main' (默认),'radio', 'events')

-B 输出log到二进制中。

二 Log方法:

android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。
1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");
2、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.
3、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息
4、Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息。
5、Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。

Android软件测试的日志文件抓取简介

1 log文件分类简介
实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志
状态信息的有:adb shell cat /proc/kmsg ,adb shell dmesg,adb shell dumpstate,adb shell dumpsys,adb bugreport,工程模式等
2 LOG抓取详解
l 实时打印
adb logcat -b main-v time>app.log 打印应用程序的log
adb logcat -bradio -v time> radio.log 打印射频相关的log,SIM STK也会在里面,modem相关的ATcommand等,当然跟QXDM差的很远了。
adb logcat -bevents -v time 打印系统事件的日志,比如触屏事件。。。
tcpdump 是很有用的,对于TCP/IP协议相关的都可以使用这个来抓,adb shell tcpdump -s 10000 -w /sdcard/capture.pcap,比如抓mms下载的时候的UA profile,browser上网的时候,使用proxy的APN下载,streaming的相关内容包括UA profile等。

1. 显示系统中全部Android平台:

android list targets

2. 显示系统中全部AVD(模拟器):

android list avd

3. 创建AVD(模拟器):

android create avd --name 名称 --target 平台编号

4. 启动模拟器:

emulator -avd 名称 -sdcard ~/名称.img (-skin1280x800)

5. 删除AVD(模拟器):

android delete avd --name 名称

6. 创建SDCard:

mksdcard 1024M ~/名称.img

7. AVD(模拟器)所在位置:

Linux(~/.android/avd)

Windows(C:\Documents and Settings\Administrator\.android\avd)

8. 启动DDMS:

ddms

9. 显示当前运行的全部模拟器:

adb devices

10. 对某一模拟器执行命令

abd -s 模拟器编号 命令

11. 安装应用程序:

adb install -r 应用程序.apk

12. 获取模拟器中的文件:

adb pull <remote> <local>

13. 向模拟器中写文件:

adb push <local> <remote>

14. 进入模拟器的shell模式:

adb shell

15. 启动SDK,文档,实例下载管理器:

android

16. 缷载apk包:

adb shell

cd data/app

rm apk包

exit

adb uninstall apk包的主包名

adb install -r apk包

17. 查看adb命令帮助信息:

adb help

18. 在命令行中查看LOG信息:

adb logcat -s 标签名

19. adb shell后面跟的命令主要来自:

源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。

20. 删除系统应用:

adb remount (重新挂载系统分区,使系统分区重新可写)。

adb shell

cd system/app

rm *.apk

21. 获取管理员权限:

adb root

22. 启动Activity:

adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。

23、发布端口:

你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如: adb forward tcp:5555 tcp:8000

24、复制文件:你可向一个设备或从一个设备中复制文件,

复制一个文件或目录到设备或模拟器上:

adb push <source><destination></destination></source> 如:adb push test.txt /tmp/test.txt

从设备或模拟器上复制一个文件或目录:

adb pull <source><destination></destination></source> 如:adb pull /addroid/lib/libwebcore.so .


25、搜索模拟器/设备的实例:

取得当前运行的模拟器/设备的实例的列表及每个实例的状态:

adbdevices

26、查看bug报告:

adb bugreport

27、记录无线通讯日志: 一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:

adb shell

logcat-b radio

28、获取设备的ID和序列号:

adb get-product

adbget-serialno

29、访问数据库SQLite3 adb shell

sqlite3 #cd system/sd/data //进入系统内指定文件夹 #ls //列表显示当前文件夹内容#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件 #rm xxx //删除文件xxx#rmdir xxx //删除xxx的文件夹
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: