adb的全称为Android Debug Bridge,是Android提供的一个通用的调试工具,即Android调试桥。
adb是android sdk里的一个工具,在android sdk/platform-tools中可以找到 adb 工具进行下载安装使用(此处暂不对具体安装进行说明),使用此工具可以直接操作管理android模拟器或者真实的android设备。
1、运行设备的shell(命令行)。
2、管理模拟器或设备的端口映射。
3、计算机和设备之间上传/下载文件。
4、将本地apk软件安装到模拟器或android设备。
1、adb客户端:用来下发adb的指令工具
2、server服务端:adb.exe执行之后的进程,表示adb的服务端,通过服务端与手机上的adb守护进程进行通行
3、adb守护进程:随着android系统的启动而启动,当android系统关闭之后它才会关闭
查看目前连接设备/模拟器的状态命令为adb devices,其中主要有四种状态:
1)device 状态:表示模拟器或设备已经成功连接到adb服务器上
2)offline 状态:表示设备未连接成功或无响应
3)no device 状态:表示没有模拟器或设备连接
4)unauthorized状态:表示获取到手机了,但是没有权限(未授权),可以用adb root命令来获取root权限
adb start-server
adb kill-server
adb shell getprop ro.product.model
直接输入adb version就可以
adb shell getprop ro.build.version.release
使用adb shell pm list package可以列出手机/模拟器所有的包,其中参数代表含义如下:
-s 列出系统所有包 例如:adb shell pm list package -s
-3 列出所有第三方包 例如:adb shell pm list package -3
-e 列出正在启用的包 例如:adb shell pm list package -e
-f 列出系统的包和路径 例如:adb shell pm list package -f
adb shell pm clear
adb shell am start-n packagename/activity,这里有几个需要注意的点:
1)启动应用前需要先获取当前activity
获取当前activity
adb shell dumpsys activity >E:\Android\AppName\a.txt,其中 >后边表示要获取到哪里去即存放路径,a.txt表示获取后命名的文件夹
2)然后打开a.txt文件 输入running查找并复制带包名的activity,最后输入上面的启动应用的命令即可
adb shell am force-stop
adb install
参数含义:
-r 覆盖安装
-s 指定设备
例如:adb install D:\tool\文件名.apk 表示从电脑安装应用到设备,即把D盘里的tool目录下的某apk格式的软件安装到设备
adb uninstall
例如: adb uninstall com.kmxs.reader 表示卸载七猫小说的应用
1、创建文件夹
adb shell mkdir -p 文件路径/文件夹名
2、查看文件夹及内容
adb shell ls 文件路径/文件夹名,如果出现:No such file or directory则说明文件夹不存在。
3、删除某文件夹及文件夹下所有文件
adb shell rm -r 文件路径/文件夹名
adb push 本地路径\文件名 远程路径
发送文件前需要用adb先连接上android设备;其中,本地路径指pc端文件存放路径,远程路径则指android设备存放路径
用模拟器举例,如:adb push D:\xxsy\a.txt /sdcard/yy
表示把PC端的D盘里的xxsy目录下的a文件 传送到模拟器为sdcard里的yy目录下
adb pull 远程路径/文件名 本地路径
原理同上
例如: adb pull /sdcard/yy/a.txt D:\xxsy
表示把android设备sdcard里yy目录下的a文件 传送到PC端的D盘里的xxsy目录下
抓取手机动态日志(即客户端):adb logcat
关于如何抓取客户端动态日志,此篇暂不做介绍,后期文章会详细介绍如何抓取客户端动态日志。