ADB命令详解

50 阅读3分钟

基本指令

1. adb version:用来显示adb版本信息

2. adb help:帮助信息,查看adb所支持的所有命令

3. 启动/关闭服务

adb start-server:启动adb服务

adb kill-server:关闭adb服务

4. adb devices:用来查看当前连接的设备,已连接的设备会显示出来

5. adb -s 设备名:如果有显示多个连接设备,只要操作其中一个,则用该命令的方式来执行

比如:adb -s 192.168.10.101:5555 shell

问题:如果连接提示:unauthorized、unkown或offline,表示连接失败。解决方法:

1)确定设备是否开启usb调试

2)确定设备的驱动是否安装好,驱动的安装可以采用360手机助手(其他助手)连接测试机,会自动安装驱动并连接测试。

3)确定设备是否有授权;

权限指令

1. adb root:获取Android管理员(root用户)的权限

2. adb shell:登录设备shell,这个命令将登录设备的shell(内核),登录shell后可以使用cd、ls、rm等linux命令

3. adb remount:获取System分区可写权限,需要root后才能有这个权限

查看包名

查看应用包名

方式一:

•adb shell pm list packages   显示所有包名

•adb shell pm list packages –s  显示系统应用包名

•adb shell pm list packages -3  显示第三方应用包名

方式二:

•ls /data/data  显示所有包名

apk操作指令

安装apk

• adb install <apk文件路径>:将本地apk软件安装到设备上

• adb install -r <apk电脑上的路径> :将本地apk软件安装到设备上,并替换原来已存的APK

卸载apk

• adb uninstall <apk包名>:将设备上的apk卸载

• adb uninstall -k <apk包名>:将设备上apk卸载,但是保留配置和缓存文件

• 以上的命令替换成:adb shell pm uninstall -k package

日志操作命令

adb logcat:抓取日志,ctrl+c结束

logcat可以查看手机4个缓冲区日志,包括radio,system,main,event;

•radio 存放通信的日志,比如通话短信等;

• event 表示手机按键输出等事件日志等;

•main 指的是手机的应用软件的日志,是应用层日志输出;

• system是系统组日志。

• 如果不指定,则默认输出main和system的日志,

  如果需要指定,则需要使用参数

logcat是实时日志,在你操作软件的同时,同步会输出日志信息。

1.adb logcat -b 指定缓冲区    如:adb logcat -b main 输出main的日志

2.adb logcat -v time   如:adb logcat -v time  输出的日志同步打印时间

3.adb logcat -v time -b 执行缓冲区   如:adb logcat -v time -b system

4.adb logcat –v time -b 执行缓冲区>d:\ logcat.log   输出的日志保存在本地的文件上

5.adb logcat -c   清理日志

6.adb logcat *:E   日志筛选,只输出error日志

logcat分析

输出的日志格式如下所示:

由五部分组成:

1.写下日志的时间,如图:06-28 19:38:10.464

2.日志级别由低到高分别是Verbose、Debug、Info、Warning、Error。

• V:Verbose就是冗长啰嗦的,通常表达开发调试过程中的一些详细信息,不过滤地输出所有调试信息,是最低级的Log可以不用管。

• D:Debug调试,显示开发调试的信息,正式版本需要关闭。

• I:Info来表达一些信息,提示性的信息。 把这些信息注释掉

• W:Warning表示警告,但不一定会马上出现错误,开发时有时用来表示特别注意的地方。

• E:Error表示出现错误,是最需要关注解决的

3.标签(tag):标明日志发起者和方便日志的过滤筛选,如上种的AndroidRuntime

4.PID(进程ID):比如上面的6942

5.正文:本日志的整体内容

可以通过:FATAL EXCEPTION 定位到错误(java 捕捉异常)