adb全名Andorid Debug Bridge. 顾名思义, 这是一个Debug工具.
然而, 为何称之为Bridge呢? 因为adb是一个标准的CS结构的工具, 是要连接开发电脑和你的调试手机的.包含如下几个部分:
- Client端, 运行在开发机器中, 即你的开发PC机. 用来发送adb命令.
- Deamon守护进程, 运行在调试设备中, 即的调试手机或模拟器.
- Server端, 作为一个后台进程运行在开发机器中, 即你的开发PC机. 用来管理PC中的Client端和手机的Deamon之间的通信.
adb本身如果安装了android SDK的话,额,其实现在新版本的android studio默认都给你安装那个了,所以如果安装的话,路径是在android sdk的安装路径/sdk/platform-tools 中有个adb.exe,然后该路径下执行cmd操作,懒人看图:
1.找到当前项目的sdk路径
复制,然后就到了这里
下面就是骚操作了,这个操作估计很多人都会,这里还是讲讲
这个位置删除,然后输出cmd,然后回车
就这样了
下面介绍我平时用的adb开发命令,其他那些暂时还没怎么玩过,有用过其他命令的可以说说,对了,adb命令只有连接设备后才能使用,然后连接设备的话,在android studio上可以通过usb连接设备,然后调用adb命令,还有种是直接root手机,然后调用adb连接手机操作
1.连接: adb connect ip
2.root: adb root
3.安装: adb install 安装包路径
4.查看系统已经安装的apk包名:adb shell pm list packages
5.卸载apk:adb uninstall apk包名
6.启动apk:adb shell am start -n 应用程序包名/应用程序包名.对应activity路径
7.查看安装包的路径: adb shell pm path packagename
8.包pull到本地:adb shell pull 包路径
9. adb logcat
在adb下查看log日志
一.在cmd窗口查看手机的Log日志
有时候我们在手机程序上的日志要在其他地方调试,然后要看里面的Log日志。在cmd窗口中输入如下命令:
|
//格式1:打印默认日志数据 adb logcat //格式2:需要打印日志详细时间的简单数据 adb logcat -v time //格式3:需要打印级别为Error的信息 adb logcat *:E //格式4:需要打印时间和级别是Error的信息 adb logcat -v time *:E //格式5:将日志保存到电脑固定的位置,比如D:\log.txt adb logcat -v time >D:\log.txt |
这时手机日志更新什么日志,cmd窗口也会同步更新数据。
但是这样没有过滤条件,如果Log日志很多,很难找到我们想要的信息,
当然也可以复制cmd中的数据到一个文本中慢慢处理的,就是效率不高。
下面介绍adb logcat中的详细参数命令以及如何才能高效的打印日志,或者把日志保存到我们指定的位置。
二.adb logcat 详解
adb logcat如果用过,但是具体命令又不记得,可以输入adb logcat -help,查看一下一些简单的数据格式:
日志过滤:adb logcat <tag>[:priority]
tag表示标签,priority输出的级别,日志默认级别是V,如果错误日志我们选择E就可以。
Android 的日志分为如下几个优先级(priority):
V —— Verbose(最低,输出得最多)
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal
S —— Silent(最高,啥也不输出)
按某级别过滤日志则会将该级别及以上的日志输出。比如,命令:adb logcat *:W
其实*可以是某个tag,如果没有指明,就表示所有。
tag可以由多个 [:priority] 组成。比如,命令:
adb logcat ActivityManager:I MyApp:D *:S
表示输出 tag ActivityManager 的 Info 以上级别日志,输出 tag MyApp 的 Debug 以上级别日志,及其它 tag 的 Silent 级别日志(即屏蔽其它 tag 日志)。
adb logcat选项解析
--"-s"选项 : 设置输出日志*:s的标签, 只显示该标签的日志;
--"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
--"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
--"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;
--"-v"选项 : 设置日志的输出格式, 注意只能设置一项;
--"-c"选项 : 清空所有的日志缓存信息;
--"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
--"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
--"-g"选项 : 查看日志缓冲区信息;
--"-B"选项 : 以二进制形式输出日志;
把日志信息保存到电脑中
adb logcat最后添加” > 保存文件的地址,比如需要将的信息保存到电脑中使用下面的命令: adb logcat -v time > D:\log.txt