子命令 | 参数 | 说明 | 备注 |
[-d|-e|-s <serialNumber> ] <command> | 发送命令到指定设备 |
devices | [-l] | 列出所有已经连接的设备,有三种状态
device/offline/device not found | 参数[-l]可省略 |
push | <local> <remote> | 复制一个文件或者目录到设备中 | adb push D: est.apk /mnt/sdcard/ |
pull | <remote> <local> | 从手机复制一个文件到本地 | adb pull /mnt/sdcard/test.apk D: |
install | [-lrtsd] <file> | 安装apk | adb install D: est.apk |
-l:标识应用为受限应用 |
-r:替换已经存在的应用 |
-t:运行安装测试包 |
-s:安装到SD卡中 |
-d:允许降级安装 |
install-multiple | [-lrtsdp] <file...> | 批量安装 |
-p:部分应用程序安装 |
uninstall | [-k] <package> | -k:保持data和cache下的文件 | adb uninstall package name |
bugreport | 无 | 打印当前的dumpsys、sumpstate、logcat的输出 | adb bugreport > D:/bugreport.text |
logcat | [Options] [FILTER] Options: -s : 设置输出日志的标签,只显示该标签的日志 -f : 将日志输出到文件,默认输出到标准输出流 -v : 设置日志的输出格式,注意只能设置一项 -b : 加载一个日志缓冲区,默认是main -c : 清空所有的日志缓存信息 FILTER : 格式:<TAG>[:priority] 默认是 *:| V : Verbose D : Debug I : Info W : Warn E : Error S : Slient | 输出Android系统日志 | adb logcat与gref命令一起使用: adb logcat | gref wifi : 过滤出wifi的信息 adb logcat | gref "正则表达式" |
shell | 命令较多 | 进入远程shell端 |
remount | 无 | 重新挂载系统分区,使系统分区重新可写 |
reboot | [bootloader|recovery] | 重启 |
Bootloader:重启到bootloader |
Recovery:重启到recovery |
reboot-bootloader | 无 | 重启到bootloader |
root | 无 | 重新启动adbd获取root身份 |
usb | 无 | 重新启动adbd来监听USB |
tcpip | <port> | 重新启动adbd来监听指定的TCP端口 |
wait-for-device | 无 | 等待设备连接 |
start-server | 无 | 开启adb服务 |
kill-server | 无 | 杀掉adb服务 |
get-state | 无 | 获取adb服务状态offline | bootloader | device |
get-serialno | 无 | 获取SN号 |
get-devpath | 无 | 获取device-path |
status-window | 无 | 连续打印指定设备的设备状态 |
adb 备份与恢复命令 |
backup | 将应用的数据文件写入到指定的文件,如果没有指定-f 输出目录,则保持在当前目录的"backup.ab" |
[-f <file>] | 指定备份目录 |
[-apk|-noapk] | 是否备份apk文件,默认是noapk |
[-obb|-noobb] | 是否备份obb数据包,默认是noobb |
[-shared|-noshared] | 是否备份SD卡共享内容,默认是noshared |
[-all] | 备份所有已安装的应用 |
[-system|-nosystem] | 是否备份系统应用,-all默认是包括系统应用 |
[<packages...>] | 备份指定的应用列表 |
restore | <file> | 将备份文件恢复到手机中 |
adb 重定向端口命令—端口映射命令 | 将开发PC上的端口(1314)重定向到设备的端口(5200)上,这样所有发往PC端口(1314)的数据都会被转发到设备的端口(5200)上。这个机制可以实现远程控制Android设备应用 |
forward --list | 无 | 列出所有套接字连接列表 | 打开设备monkey应用端口:adb shell monkey --port 1080 将PC的1080映射到设备的1080:adb forward tcp:1080 tcp:1080 连接本机1080端口即连接到设备的1080端口 telnet 1080 即进入monkey通讯界面 |
forward | <local> <remote> | 重定向端口 |
forward --no-rebind | <local> <remote> | 重定向端口,假如local端口已经被占用则失败 |
forward --remove | <local> | 移除本地已经连接的套接字 |
forward --remove-all | 无 | 移除本地已经连接的所有套接字 |
reverse --list | 无 | 列出所有连接设备反向的套接字 |
reverse | <remote> <local> | 反向连接套接字 |
reverse --norebind | <remote> <local> | 反向连接,假如端口已经被占用则连接失败 |
reverse --remove | <remote> | 删除一个特定的逆转套接字连接 |
reverse --remove-all | 无 | 删除所有逆转的套接字连接设备 |
adb 无线连接与文件同步 |
connect | <host>[:<port>] | 通过TCP / IP连接到设备 如果没有指定端口号则使用5555作为默认端口 | 1.root您的Andorid设备 2.安装wireless adb工具(google?play里面可以下载) 3.PC和Android设备连接到同一网络,手机上查看Android设备IP地址 通过命令:netcfg查询IP 4.PC端输入以下命令 adb connect IP地址:端口,端口默认为5555 adb connect 192.168.1.105:5555 注意:adb 无线连接失败解决 通过USB连接后直接通过ADB设置 adb tcpip 5555 #让adbd重新启动,并监听端口5555 adb connect 192.168.0.101:5555 |
disconnect | [<host>[:<port>]] | 断开与TCP / IP设备 如果没有指定端口号则使用5555作为默认端口 |
sync | [ <directory> ] | 只要文件发生改变时就会自动从主机拷贝到设备 需要指定环境变量ANDROID_PRODUCT_OUT为同步目录 |
shell命令 |
adb shell cat /sys/class/net/wlan0/address | shell命令 | 获取 wifi mac 地址 |
adb shell cat /proc/cpuinfo | 获取 cpu 序列号 |
adb shell cat /system/build.prop | 获取设备编译属性 |
adb shell cat /data/misc/wifi/*.conf | 获取 wifi 配置信息(需要ROOT权限) |
adb shell top | [-m <number>] | 查看内存占用情况 | adb shell top 系统所有的内存占用情况 adb shell top -m 3 前三个占用的情况 adb shell top -n 1 刷新一次内存,然后返回 |
adb shell ps | 查看进程列表 |
adb shell kill | <pid> | 杀死一个进程 |
adb shell ps –x | <pid> | 查看指定进程的状态 |
adb shell service list | 查看后台 services 信息 |
adb shell cat /proc/meminfo | 查看当前内存占用 |
adb shell cat /proc/iomem | 查看 IO 内存分区(需要ROOT权限) |
adb shell ls mnt | 查看所有设备存储设备名 |
adb remount | 将 system 分区重新挂载为可读写分区 |
adb shell ls | 列出目录下的文件和文件夹 |
adb shell cd | <folder> | 进入文件夹 | adb shell cd data/data |
adb shell rm [-r] <path/filename> | 删除文件(夹) |
adb shell cat <file> | 查看文件内容 |
adb shell mkdir path/foldername | 新建文件夹 |
adb shell input text | <content> | 发送文本内容 | adb shell input text "www.baidu.com" 输入www.baidu.com |
adb shell input keyevent | <keycode> | 发送键盘事件 | adb shell input keyevent KETCODE_HOME 按HOME键 |
adb shell wm size | 获取设备分辨率 |
adb shell getprop | <key> | 获取设备参数信息 | adb shell getprop ro.build.version.sdk 获取SDK版本信息 |
adb shell setprop | <key> <value> | 设置设备参数信息 |
adb shell screencap | –p <path/file> | adb 命令截图 | adb shell screencap -p /sdcard/test.png |
adb shell screenrecord | [options] <path/filename> Options 说明: --size WIDTH * HEIGHT --bit-rate RATE --time-limit TIME --rotate | adb 命令录制屏幕视频 | adb shell screenrecord /sdcard/s1.mp4 |
adb shell am start | Options: -D : 启动调试 -W : 等待启动完成 INTENT : -a <ACTION> :设置 intent 的 action -d <DATA_URI> :设置 intent 的uri -t <MIME_TYPE> : 设置 intent 的 mime 类型 -c <CATEGORY> : 设置 intent 的类别 -n <COMPONENT> : 设置 intent 的 component -f <FLAGS> :设置 intent 的 flag | 使用 adb 调用 ActivityManager | adb shell am start -a android.intent.action.MUSIC_PLAYER |
adb shell am monitor | 用 adb 调用 ActivityManager — 监控 Crash 和 ANR |
adb shell am force-stop | <PACKAGENAME> | 强制结束一个应用 |
adb shell am kill-all | 清理所有进程 |
adb shell am startservice | <INTENT> | 启动一个 Service |
adb shell am broadcast | <INTENT> | 发送一个广播 | 启动主菜单:adb shell am broadcast -a GOTO_ALL_APP |
adb shell pm list package | [Options] [FILTER] Options: -f : 列出应用包名及对应的apk名及存放位置 -d : 过滤出系统禁用的应用 -e : 过滤出系统中正常使用的应用 -s : 过滤出系统中的系统应用 -3 : 过滤出系统中的第三方应用 -i : 列出应用包名及其安装来源 -u : 列出包含卸载的应用 FILTER: 列出包含FILTER文本的应用 | adb shell pm list packages -f|grep -nri |
adb shell pm path | <PACKAGENAME> | 列出应用包名对应的 .apk 位置 |
adb shell pm dump | <PACKAGENAME> | dump 应用信息 |
adb shell pm install | [Options] < apk file> Options: -r : 覆盖安装 -s : 安装应用到 sdcard 上 -f : 安装应用到内部存储上 -d : 允许安装低版本应用 | 安装应用 |
adb shell pm uninstall | <PACKAGENAME> | 卸载应用 |
adb shell pm get-install-location | 获取应用安装位置 | 返回为0表示自动 返回为1表示手机存储 返回为2表示SD卡 |
adb shell pm set-install-location | 2 / 0 / 1 | 设置应用安装位置 |
adb shell pm enabled | <PACKAGENAME> | 显示应用 |
adb shell pm disenabled | <PACKAGENAME> | 禁用应用 |
adb shell dumpsys | 获取当前系统信息 | adb shell dumpsys meminfo 获取当前的CPU信息 adb shell dumpsys cpuinfo 获取当前的CPU信息 adb shell dumpsys battery 获取当前的电池信息 adb shell dumpsys wifi 获取当前的wifi信息 adb shell dumpsys display | grep DisplayDeviceInfo 获取当前的屏幕信息 |
USB设置充电模式 | setprop persist.usb.chgdisabled 0 |
adb shell shutdown | 关机 |
adb shell blkid | 查看手机挂载,比如TD卡 |
echo aa>fsc_log | 新建文件fsc_log |
导出手机截图 | adb pull /sdcard/Pictures/Screenshots https://blog.csdn.net/dddxxxx/article/details/Screenshots |
#touch 文件名 新建指定文件 | adb shell touch data/log/1231.java;chmod 777 data/log/1231.java |
#echo > 文件名 新建指定文件 |
#echo abcde> 文件名 新建把字符串“abcde”写到指定目录 |
liunx 打开文件:nautilus https://blog.csdn.net/dddxxxx/article/details/ |
启动设置 | adb shell am start -n com.android.settings/com.android.settings.Settings |
启动主菜单 | adb shell am broadcast -a GOTO_ALL_APP |
启动老化单项: | adb shell am start -n com.ckt.runtime/.RuntimeTestSetting |
删除老化LOG | adb shell rm -rf sdcard/runInTest |
查看CPU使用情况: | adb shell top -m 100 -s cpu |
查看已知服务CPU使用情况: | adb shell top | grep /system/bin/rf_test_srv |
ADB SHELL | adb shell "ps | grep rf_test_srv | busybox awk '{print $2}'|xargs kill -9" |
ADB 删除指定名字的APK |
查看当前运行APK的包名类名 | adb shell "dumpsys activity top |grep ACTIVITY" |
读SN号 | adb shell getprop persist.sys.pcbasn |
读取版本号 | adb shell getprop > https://blog.csdn.net/dddxxxx/article/details/prop.log |
QXDM: | Send_data 0x29 0x02 0x00 |
nv_read_item 114 |
杀死一个指定进程: | adb shell "ps | grep rf_test_srv | busybox awk '{print $2}'|xargs kill -9" |
DUMP信息填写 | APPS out argetproductmsm8937_64objKERNEL_OBJ
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。
{
|