1.解锁
adb shell am start -n com.android.autounlock/.AutoUnlock
2.启动某个应用
adb shell am start-n breakan.test/breakan.test.TestActivity
adb shell am start -n com.android.tools/.MyApp
拨打某个电话:adbshell amstart -a android.intent.action.CALL -d tel:10086
打开某个网页:adbshell am start -a android.intent.action.VIEW -d
3.启动应用后进行操作
现在触摸屏失效了,不能直接在屏幕上进行选择操作,但是我们可以通过模拟键值来进行操作。
adb shell input keyevent 19 (方向上键)
adb shell input keyevent 20 (方向下键)
adb shell input keyevent 21 (方向左键)
adb shell input keyevent 22 (方向右键)
adb shell input keyevent 23 (方向下键)
adb shell input keyevent 61 (TAB键)
adb shell input keyevent 66 (确定键)
adb shell input keyevent 3 (返回键)
adb shell input keyevent HOME (方向下键)
adb shell input keyevent MENU (菜单键)
adb shell input keyevent BACK (返回键)
adb shell input keyevent CAMERA (拍照键)
adb shell input keyevent POWER (电源键)
等等一些,数字键、字母键,包括PC键盘上面的键值都可以模拟出来。相当强大吧!
4.使用adb命令截屏内容,所截取的屏幕为framebuffer里面的内容,格式为png
$adb shell screencap -p /sdcard/screen.png
$adb pull /sdcard/screen.png
$adb shell rm/sdcard/screen.png
5.常用命令
获取序列号:
adb get-serialno
查看连接计算机的设备:
adb devices
重启机器:
adb reboot
重启到bootloader,即刷机模式:
adb reboot bootloader
重启到recovery,即恢复模式:
adb reboot recovery
查看log:
adb logcat
终止adb服务进程:
adb kill-server
重启adb服务进程:
adb start-server
获取机器MAC地址:
adb shell cat /sys/class/net/wlan0/address
获取CPU序列号:
adb shell cat /proc/cpuinfo
安装APK:
adb install <apkfile> //比如:adbinstall baidu.apk
保留数据和缓存文件,重新安装apk:
adb install -r <apkfile> //比如:adbinstall -r baidu.apk
安装apk到sd卡:
adbinstall -s <apkfile> // 比如:adbinstall -s baidu.apk
卸载APK:
adb uninstall <package> //比如:adbuninstall com.baidu.search
卸载app但保留数据和缓存文件:
adb uninstall -k <package> //比如:adbuninstall -k com.baidu.search
启动应用:
adb shell am start -n <package_name>/.<activity_class_name>
查看设备cpu和内存占用情况:
adb shell top
查看占用内存前6的app:
adb shell top -m 6
刷新一次内存信息,然后返回:
adb shell top -n 1
查询各进程内存使用情况:
adb shell procrank
杀死一个进程:
adbshell kill [pid]
查看进程列表:
adbshell ps
查看指定进程状态:
adbshell ps -x [PID]
查看后台services信息:
adbshell service list
查看当前内存占用:
adbshell cat /proc/meminfo
查看IO内存分区:
adbshell cat /proc/iomem
将system分区重新挂载为可读写分区:
adb remount
如果提示:remount of /failed:Permission denied
remount failed
在终端中敲 adb disable-verityadb & adb reboot
从本地复制文件到设备:adb push <local> <remote>
从设备复制文件到本地:
adb pull <remote> <local>
列出目录下的文件和文件夹,等同于dos中的dir命令:
adb shell ls
进入文件夹,等同于dos中的cd命令:
adb shell cd <folder>
重命名文件:
adb shell rename path/oldfilename path/newfilename
删除system/avi.apk:
adb shell rm /system/avi.apk
删除文件夹及其下面所有文件:
adb shell rm -r <folder>
移动文件:
adb shell mv path/file newpath/file
设置文件权限:
adb shell chmod 777 /system/fonts/DroidSansFallback.ttf
新建文件夹:
adb shell mkdir path/foldelname
查看文件内容:
adb shell cat <file>
查看wifi密码:
adb shell cat /data/misc/wifi/*.conf
清除log缓存:
adb logcat -c
查看bug报告:
adb bugreport
获取设备名称:
adb shell cat /system/build.prop
查看ADB帮助:
adb help
跑monkey:
adb shell monkey -v -p your.package.name 500
6.所有命令
子命令 | 参数 | 说明 | |
[-d|-e|-s<serialNumber> ] <command> | 发送命令到指定设备 | ||
devices | [-l] | 列出所有已经连接的设备,有三种状态 | |
push | <local> <remote> | 复制一个文件或者目录到设备中 | |
pull | <remote> <local> | 从手机复制一个文件到本地 | |
install | [-lrtsd] <file> | 安装apk | |
-l:标识应用为受限应用 | |||
-r:替换已经存在的应用 | |||
-t:运行安装测试包 | |||
-s:安装到SD卡中 | |||
-d:允许降级安装 | |||
install-multiple | [-lrtsdp] <file...> | 批量安装 | |
-p:部分应用程序安装 | |||
uninstall | [-k] <package> | -k:保持data和cache下的文件 | |
bugreport | 无 | 打印当前的dumpsys、sumpstate、logcat的输出 | |
logcat | [Options][FILTER] | 输出Android系统日志 | |
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重定向端口命令—端口映射命令 | |||
forward --list | 无 | 列出所有套接字连接列表 | |
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连接到设备 | |
disconnect | [<host>[:<port>]] | 断开与TCP/ IP设备 | |
sync | [<directory> ] | 只要文件发生改变时就会自动从主机拷贝到设备 | |
shell命令 | |||
adbshell cat /sys/class/net/wlan0/address | shell命令 | 获取wifimac 地址 | |
adbshell cat /proc/cpuinfo | 获取cpu序列号 | ||
adbshell cat /system/build.prop | 获取设备编译属性 | ||
adbshell cat /data/misc/wifi/*.conf | 获取wifi配置信息(需要ROOT权限) | ||
adbshell top | [-m<number>] | 查看内存占用情况 | |
adbshell ps | 查看进程列表 | ||
adbshell kill | <pid> | 杀死一个进程 | |
adbshell ps –x | <pid> | 查看指定进程的状态 | |
adbshell service list | 查看后台services信息 | ||
adbshell cat /proc/meminfo | 查看当前内存占用 | ||
adbshell cat /proc/iomem | 查看IO内存分区(需要ROOT权限) | ||
adb shellls mnt | 查看所有设备存储设备名 | ||
adbremount | 将system分区重新挂载为可读写分区 | ||
adbshell ls | 列出目录下的文件和文件夹 | ||
adbshell cd | <folder> | 进入文件夹 | |
adbshell rm [-r] <path/filename> | 删除文件(夹) | ||
adbshell cat <file> | 查看文件内容 | ||
adbshell mkdir path/foldername | 新建文件夹 | ||
adbshell input text | <content> | 发送文本内容 | |
adbshell input keyevent | <keycode> | 发送键盘事件 | |
adbshell wm size | 获取设备分辨率 | ||
adbshell getprop | <key> | 获取设备参数信息 | |
adbshell setprop | <key><value> | 设置设备参数信息 | |
adbshell screencap | –p<path/file> | adb命令截图 | |
adbshell screenrecord | [options]<path/filename> | adb命令录制屏幕视频 | |
adbshell am start | Options: | 使用adb调用ActivityManager | |
adbshell am monitor | 用 adb调用ActivityManager— 监控Crash和ANR | ||
adbshell am force-stop | <PACKAGENAME> | 强制结束一个应用 | |
adbshell am kill-all | 清理所有进程 | ||
adbshell am startservice | <INTENT> | 启动一个Service | |
adbshell am broadcast | <INTENT> | 发送一个广播 | |
adbshell pm list package | [Options][FILTER] | adbshell pm list packages -f|grep -nri | |
adbshell pm path | <PACKAGENAME> | 列出应用包名对应的.apk位置 | |
adbshell pm dump | <PACKAGENAME> | dump应用信息 | |
adbshell pm install | [Options] < apk file> | 安装应用 | |
adbshell pm uninstall | <PACKAGENAME> | 卸载应用 | |
adbshell pm get-install-location | 获取应用安装位置 | 返回为0表示自动 | |
adbshell pm set-install-location | 2/ 0 / 1 | 设置应用安装位置 | |
adbshell pm enabled | <PACKAGENAME> | 显示应用 | |
adbshell pm disenabled | <PACKAGENAME> | 禁用应用 | |
adbshell dumpsys | 获取当前系统信息 | adbshell dumpsys meminfo 获取当前的CPU信息 | |
USB设置充电模式 | setproppersist.usb.chgdisabled 0 | ||
adbshell shutdown | 关机 | ||
adbshell blkid | 查看手机挂载,比如TD卡 | ||
echoaa>fsc_log | 新建文件fsc_log | ||
导出手机截图 | adbpull /sdcard/Pictures/Screenshots ./Screenshots | ||
#touch文件名新建指定文件 | |||
#echo> 文件名新建指定文件 | |||
#echoabcde> 文件名新建把字符串“abcde”写到指定目录 | |||
liunx打开文件:nautilus./ | |||
启动设置 | adbshell am start -ncom.android.settings/com.android.settings.Settings | ||
启动主菜单 | adbshell am broadcast -a GOTO_ALL_APP | ||
启动老化单项: | adbshell am start -n com.ckt.runtime/.RuntimeTestSetting | ||
删除老化LOG | adbshell rm -rf sdcard/runInTest | ||
查看CPU使用情况: | adbshell top -m 100 -s cpu | ||
查看已知服务CPU使用情况: | adbshell top | grep /system/bin/rf_test_srv | ||
ADBSHELL | adbshell "ps | grep rf_test_srv | busybox awk '{print $2}'|xargskill -9" | ||
ADB删除指定名字的APK | |||
查看当前运行APK的包名类名 | adbshell "dumpsys activity top |grep ACTIVITY" | ||
读SN号 | adbshell getprop persist.sys.pcbasn | ||
读取版本号 | adbshell getprop > ./prop.log | ||
QXDM: | Send_data0x29 0x02 0x00 | ||
nv_read_item114 | |||
杀死一个指定进程: | adbshell "ps | grep rf_test_srv | busybox awk '{print $2}'|xargskill -9" | ||
DUMP信息填写 | APPS \out\target\product\msm8937_64\obj\KERNEL_OBJ | ||
概念 |