adb工具(全称:Android Debug Bridge)是android通用的调试工具,提供调试android相关操作的指令
·adb devices 指令
adb devices 指令,能获取到当前连接的设备或模拟器的相关信息
如下图:
第一个信息是手机设备序列号 ,第二个是连接状态
连接状态有三个:device、offline、no device
device状态: 表示当前设备或模拟器已经连接到adb服务器上
offline 状态:表示设备或模拟器没有连接到adb服务器或没有响应
no device 状态:表示没有设备或模拟器连接
·adb install 指令
adb install指令,是要向设备或模拟器上安装应用程序使用
含有两个参数:
-s 指定设备序列号或模拟器序列号进行安装,当有多个设备连接时,需要指定要将应用程序安装到哪个设备或模拟器上时,可通过-s 设置
语法格式: adb -s 手机序列号/模拟器序列号 install D:\xxx.apk
-r 表示进行覆盖安装(当已经安装了一个相同的apk应用,不想卸载,就重新安装时,可通过-r设置)
语法格式:adb -r 手机序列号/模拟器序列号 install -r D:\xxx.apk
·adb uninstall 指令
adb uninstall 表示对已安装的应用程序进行卸载
语法格式:adb -s 设备序列号 uninstall 应用包名
应用包名可以通过root权限,在adb shell模式下data/data目录下找到
进入adb shell 模式:adb shell
切换root用户:su root
查看data/data目录应用包:ls /data/data
·adb pull 指令
adb pull 指令可以将手机上的文件传送到本地电脑上,以便操作(如一些运行时的错误日志文件、配置文件等)
语法格式:adb pull 手机文件路径 本地电脑文件路径 如:adb pull /sdcard/tmp/a.log d:/telephone/og
·adb push 指令
adb push 指令是将本地电脑文件上传到手机中
语法格式:adb -s 设备序列号 push d:\script/t.mr /script
·adb shell 指令
android 系统是基于linux 系统开发的,因此,支持linux下常见的命令,这些命令可以在/system/bin目录下找到。如下:
使用adb shell 有两种方式:
第一,直接使用 adb shell + 命令 的方式使用,如:adb shell ls
第二,先使用adb shell 进入到shell 模式下,在使用命令 。如下:
·adb shell dumpsys battary 指令
adb shell dumpsys battery 是用来查看电池电量信息
输出信息详解:
AC powered:false 表示当前没有使用电源充电
USB powered:true 表示当前使用usb充电
status:2 表示当前正在充电状态(5则表示充电已满)
health:2 表示当前电池健康状态,2表示当前电池健康状态-良好
level:98 表示当前剩余的电量,98表示当前设备剩余电量为98%
scale:100 表示当前设备支持的最大电量为100
voltage:4325 表示当前电池的电压为4325毫伏(mv)
temperature:213 表示当前电池的温度为21.3度,单位为0.1度。213*0.1=21.3度
technology:Li-poly 表示电池使用的技术为锂电池
·adb shell dumpsys wifi 指令
adb shell dumpsys wifi 是查看当前的wifi连接情况
Wi-Fi is disabled 表示:当前wifi已关闭(disabling -当前wifi正在关闭、enabled-当前wifi已启用、enabling-当前wifi启动中、unknown-未知wifi状态)
·adb shell dumpsys telephony.registry 指令- 查看电话相关信息
mCallState:0,表示待机状态,1表示来电尚未接听状态,2表示电话占线
mCallincomingNumber:表示最近一次来电的电话号码
mServiceState:表示服务状态,0表示正常使用
mSignalStrangth:表示信号强硬信息
mMessageWaiting:表示是否在等待无线电消息
mCallForwarding:表示是否启用了呼叫转移
mDataActivity:表示无线数据通话情况,3表示正在发送和接收IP PPP信号
mDataConnectionState:表示无线数据连接情况,2表示已连接
mDataConnectionPossible:表示是否有数据连接
mDataConnectionReason:表示数据连接的原因
mDataconnectionApn:表示接入点名称
mDataConnectionLinkProperties:表示数据连接的链路属性
mDataConnectionNetworkCapabilities:表示数据链路连接的能力
mCellLocation:表示基站相关信息
·adb shell cat /proc/cpuinfo 指令 - 查看cpu硬件信息
·adb shell cat /proc/meminfo 指令- 查看内存信息
·adb shell cat /proc/iomem 指令- 查看I/o分区相关信息
·adb shell cat /proc/version 指令 - 查看手机内核版本信息
·adb shelll df 指令-查看手机android系统各个分区信息
·adb shell dumpstate 指令-查看手机系统当前状态信息(包含系统构建版本、网络相关、内存的使用、cpu的使用、进程等信息)
·adb get-serialno 指令- 获取设备的序列号
·adb get-state 指令- 查看当前设备或模拟器的状态
·adb start-server 指令-启动adb 服务
·adb kill-server 指令-关闭adb服务
·adb forward 指令-将本机的端口重定向到模拟器或手机设备端口上
am指令
am(activity manager)使用am可以去模拟各种系统的行为,例如启动照相功能
adb shell am start -n com.sec.android.app.camera/.Camera 启动照相功能
还可以模拟弱点环境:
adb shell am broadcast -a android.intent.action.BATTERY_CHANGED --ei "level" 10 --ei "scale" 200
pm指令
pm(package manager) 可以使用pm命令去模拟android行为或设备应用
如打开所有包列表
adb shell pm list package
参数:
-f 查看其关联的文件
-d 查看disabled package
-e 查看enable package
-s 查看系统package
-3 查看第三方package
-i 查看package对应安装者
-u 查看曾被卸载过的package