初识adb
adb shell下载链接:https://wws.lanzoui.com/iNYNiq9l3yd
打开文件所在文件夹,将地址栏清空并键入cmd,然后回车,在cmd窗口键入adb shell测试use调试是否连接成功,如果出现美元符号表示连接成功。
adb命令
adb shell am monitor #执行该命令后在手机上打开要卸载的应用,获取包名
adb shell pm disable-user 包名 #停用应用
adb shell pm enable 包名 #恢复应用
adb install -r apk文件路径 #安装应用,直接将文件拖入cmd窗口可直接实现插入路径
adb shell pm list packages #显示包名列表
adb uninstall 包名 #卸载应用
adb安装软件实操
emulator代表实际序列号,如果有多个序号号的话需要指定一下,序列号可以通过"adb devices"查看
|
|
adb命令安装apk脚本
|
|
Android adb 查看已经安装的应用、安装应用、卸载应用
adb shell pm list packages -[option] 命令查看已经安装的应用,列出包名,后面加不同的后缀输出不同信息。
adb shell pm list packages ####查看当前连接设备或者虚拟机的所有包
adb shell pm list packages -d #####只输出禁用的包。
adb shell pm list packages -e #####只输出启用的包。
adb shell pm list packages -s #####只输出系统的包。
adb shell pm list packages -i #####只输出包和安装信息(安装来源)。
adb shell pm list packages -u #####只输出包和未安装包信息(安装来源)。
adb shell pm list packages -i #####只输出包和安装信息(安装来源)。
adb shell pm list packages -f #####输出包和包相关联的文件
adb shell pm list packages -3 #####输出所有第三方包。
adb shell pm list packages -[option] "sina" #####按照要求搜索包。
想要获取应用的详细信息需要使用以下命令
adb shell dumpsys package [pkgName]
将安装包pull到本地
1.查询应用安装包路径 adb shell pm list packages -f 2.将安装包pull到本地 adb pull [安装包路径] [本地路径]
使用示例
|
|
|
|
有些手机需要解锁system分区(如小米)
输入:adb root
输入:adb disable-verity
查看手机连接状态:adb device
获得root权限:root
设置超级用户模式 : su
退出su : exit
重启命令:adb reboot
重启到Rec:adb reboot recovery
重启到Fastboot:adb reboot bootloader
推送ROM包:adb sideload <Rom包>
把文件从手机中复制到电脑上 : adb pull <手机路径> <电脑路径>
把文件从电脑复制到手机上 : adb push <电脑路径> <手机路径>
重新挂载文件系统 : adb remount
安装软件 : adb install apk文件名称.apk
卸载apk软件 : adb uninstall apk包名.apk
Fastboot命令:
查看连接状态 :fastboot devices
重启 :fastboot reboot
重启到Fastboot :fastboot reboot-bootloader
除非你很了解该命令,否则以下命令请谨慎使用:
解锁 :fastboot flashing unlock或fastboot oem unlock
上锁 :fastboot flashing lock或fastboot oem lock
清除分区数据 :fastboot erase <boot/system/data/cache/userdata/recovery>
清除分区(四清) :fastboot erase system -w
格式化分区数据 :fastboot format <boot/system/data/cache/userdata/recovery>
烧写分区 :fastboot flash < boot/system recovery/radio/bootloader splash1/> <*.img>
以下是常用命令,可供大家查阅:
启动 adb server 命令:adb start-server
停止 adb server 命令:adb kill-server
查看 adb 版本:adb version
安装 APK命令:adb install [-lrtsdg] <path_to_apk>
卸载应用命令:adb uninstall [-k] <packagename>
清除应用数据与缓存:adb shell pm clear <packagename>
查看正在运行的 Services命令:adb shell dumpsys activity services [<packagename>]
查看应用详细信息命令:adb shell dumpsys package <packagename>
发送广播,命令格式:adb shell am broadcast [options] <INTENT>
强制停止应用命令:adb shell am force-stop <packagename>
文件管理复制设备里的文件到电脑:adb pull <设备里的文件路径> [电脑上的目录]
复制电脑里的文件到设备:adb push <电脑上的文件路径> <设备里的目录>
电池状况命令:adb shell dumpsys battery
adb help, 列出所有的选项说明及子命令
已停用应用包名(个人某手机已停用应用):
com.ivvi.browser 自带浏览器
com.android.fmradio FM电台
com.upgadata.ivvi 游戏电台
com.iflytek.inputmethod 讯飞输入法
com.yulong.freezeroom 应用冻结
com.icoolme.android.weather 最美天气
com.yulong.android.videoplayer 视频
com.redstone.ota.ui 系统更新
com.coolpad.music 音乐
com.android.stk sim卡应用
com.yulong.android.backup 备份与恢复
安卓adb shell常用的命令
install/uninstall,在设备上安装 APK。
|
|
dumpsys(dump system)比较强大的系统服务查询-安卓无需电脑使用adb连接本机,免root控制充电
|
|
wm(windows manager)窗口管理器,可以设置一些屏幕参数。
|
|
logcat,查看日志,方便提交bug。
|
|
reboot,重启。
|
|
消除ADB错误“more than one device and emulator”的方法
当我连着手机充电的时候,启动模拟器调试,执行ADB指令时,报错。
|
|
碰到这种情况,首先要查一下,是不是真的有多个设备或模拟器。
|
|
发现还真是多个设备,那就需要为ADB命令指定设备的序列号了。
|
|
也就是如上所示,给命令加上-s的参数就可以了!
如果实际上只有一个设备或模拟器,并且查到有offline的状态; 那就说明是ADB本身的BUG所导致的,就需要用如下的方法处理下了:
|
|
第一条命令是杀ADB的服务,第二条命令是杀ADB的进程! 如果第一条没有用,才考虑用第二条命令再试试看的
通过ADB命令备份和恢复Android手机信息
在Android设备上,ADB(Android Debug Bridge)是一个强大的命令行工具,可以用于与设备进行通信和控制设备。通过ADB命令,你可以备份和恢复手机信息,包括应用数据、联系人、短信等。
备份手机信息
连接设备
首先,确保你的Android设备已开启开发者选项和USB调试模式。然后,通过USB将设备连接到电脑。
安装ADB工具
在电脑上安装ADB工具。你可以从Android官方网站下载适用于Windows、Mac和Linux的ADB工具。
打开命令行窗口
打开命令行窗口(Windows用户可以使用命令提示符或PowerShell,Mac和Linux用户可以使用终端)。
检测设备
在命令行窗口中输入以下命令,检测设备是否正确连接: adb devices 如果设备已正确连接,你应该能在列表中看到你的设备。
备份手机信息
使用以下命令备份手机信息: adb backup -all 该命令将备份应用数据和设备设置,并生成一个名为backup.ab的文件。默认情况下,该文件将保存在电脑的当前目录下。
加密备份文件(可选)
如果你想加密备份文件,可以在备份时输入密码。输入以下命令: adb backup -all -password yourpassword
恢复手机信息
如果需要恢复手机信息,请按照以下步骤操作:
连接设备
通过USB将设备连接到电脑。
打开命令行窗口
打开命令行窗口(Windows用户可以使用命令提示符或PowerShell,Mac和Linux用户可以使用终端)。
恢复备份文件
使用以下命令恢复备份文件: adb restore backup.ab点击恢复数据即可。
adb按键
adb-按键
唤醒屏幕+划动屏幕
|
|
adb shell input keyevent (具体操作) – 模拟按键事件 KeyCode
|
|
每个数字与keycode对应表如下:
0 | KEYCODE_UNKNOWN |
---|---|
1 | KEYCODE_MENU |
2 | KEYCODE_SOFT_RIGHT |
3 | KEYCODE_HOME |
4 | KEYCODE_BACK |
5 | KEYCODE_CALL |
6 | KEYCODE_ENDCALL |
7 | KEYCODE_0 |
8 | KEYCODE_1 |
9 | KEYCODE_2 |
10 | KEYCODE_3 |
11 | KEYCODE_4 |
12 | KEYCODE_5 |
13 | KEYCODE_6 |
14 | KEYCODE_7 |
15 | KEYCODE_8 |
16 | KEYCODE_9 |
17 | KEYCODE_STAR |
18 | KEYCODE_POUND |
19 | KEYCODE_DPAD_UP |
20 | KEYCODE_DPAD_DOWN |
21 | KEYCODE_DPAD_LEFT |
22 | KEYCODE_DPAD_RIGHT |
23 | KEYCODE_DPAD_CENTER |
24 | KEYCODE_VOLUME_UP |
25 | KEYCODE_VOLUME_DOWN |
26 | KEYCODE_POWER |
27 | KEYCODE_CAMERA |
28 | KEYCODE_CLEAR |
29 | KEYCODE_A |
30 | KEYCODE_B |
31 | KEYCODE_C |
32 | KEYCODE_D |
33 | KEYCODE_E |
34 | KEYCODE_F |
35 | KEYCODE_G |
36 | KEYCODE_H |
37 | KEYCODE_I |
38 | KEYCODE_J |
39 | KEYCODE_K |
40 | KEYCODE_L |
41 | KEYCODE_M |
42 | KEYCODE_N |
43 | KEYCODE_O |
44 | KEYCODE_P |
45 | KEYCODE_Q |
46 | KEYCODE_R |
47 | KEYCODE_S |
48 | KEYCODE_T |
49 | KEYCODE_U |
50 | KEYCODE_V |
51 | KEYCODE_W |
52 | KEYCODE_X |
53 | KEYCODE_Y |
54 | KEYCODE_Z |
55 | KEYCODE_COMMA |
56 | KEYCODE_PERIOD |
57 | KEYCODE_ALT_LEFT |
58 | KEYCODE_ALT_RIGHT |
59 | KEYCODE_SHIFT_LEFT |
60 | KEYCODE_SHIFT_RIGHT |
61 | KEYCODE_TAB |
62 | KEYCODE_SPACE |
63 | KEYCODE_SYM |
64 | KEYCODE_EXPLORER |
65 | KEYCODE_ENVELOPE |
66 | KEYCODE_ENTER |
67 | KEYCODE_DEL |
68 | KEYCODE_GRAVE |
69 | KEYCODE_MINUS |
70 | KEYCODE_EQUALS |
71 | KEYCODE_LEFT_BRACKET |
72 | KEYCODE_RIGHT_BRACKET |
73 | KEYCODE_BACKSLASH |
74 | KEYCODE_SEMICOLON |
75 | KEYCODE_APOSTROPHE |
76 | KEYCODE_SLASH |
77 | KEYCODE_AT |
78 | KEYCODE_NUM |
79 | KEYCODE_HEADSETHOOK |
80 | KEYCODE_FOCUS |
81 | KEYCODE_PLUS |
82 | KEYCODE_MENU |
83 | KEYCODE_NOTIFICATION |
84 | KEYCODE_SEARCH |
85 | TAG_LAST_KEYCODE |
电话键
KEYCODE_CALL | 拨号键 | 5 |
---|---|---|
KEYCODE_ENDCALL | 挂机键 | 6 |
KEYCODE_HOME | 按键Home | 3 |
KEYCODE_MENU | 菜单键 | 82 |
KEYCODE_BACK | 返回键 | 4 |
KEYCODE_SEARCH | 搜索键 | 84 |
KEYCODE_CAMERA | 拍照键 | 27 |
KEYCODE_FOCUS | 拍照对焦键 | 80 |
KEYCODE_POWER | 电源键 | 26 |
KEYCODE_NOTIFICATION | 通知键 | 83 |
KEYCODE_MUTE | 话筒静音键 | 91 |
KEYCODE_VOLUME_MUTE | 扬声器静音键 | 164 |
KEYCODE_VOLUME_UP | 音量增加键 | 24 |
KEYCODE_VOLUME_DOWN | 音量减小键 | 25 |
控制键
KEYCODE_ENTER | 回车键 | 66 |
---|---|---|
KEYCODE_ESCAPE | ESC键 | 111 |
KEYCODE_DPAD_CENTER | 导航键 确定键 | 23 |
KEYCODE_DPAD_UP | 导航键 向上 | 19 |
KEYCODE_DPAD_DOWN | 导航键 向下 | 20 |
KEYCODE_DPAD_LEFT | 导航键 向左 | 21 |
KEYCODE_DPAD_RIGHT | 导航键 向右 | 22 |
KEYCODE_MOVE_HOME | 光标移动到开始键 | 122 |
KEYCODE_MOVE_END | 光标移动到末尾键 | 123 |
KEYCODE_PAGE_UP | 向上翻页键 | 92 |
KEYCODE_PAGE_DOWN | 向下翻页键 | 93 |
KEYCODE_DEL | 退格键 | 67 |
KEYCODE_FORWARD_DEL | 删除键 | 112 |
KEYCODE_INSERT | 插入键 | 124 |
KEYCODE_TAB | Tab键 | 61 |
KEYCODE_NUM_LOCK | 小键盘锁 | 143 |
KEYCODE_CAPS_LOCK | 大写锁定键 | 115 |
KEYCODE_BREAK | Break/Pause键 | 121 |
KEYCODE_SCROLL_LOCK | 滚动锁定键 | 116 |
KEYCODE_ZOOM_IN | 放大键 | 168 |
KEYCODE_ZOOM_OUT | 缩小键 | 169 |
按键
KEYCODE_0 | 按键'0' | 7 |
---|---|---|
KEYCODE_1 | 按键'1' | 8 |
KEYCODE_2 | 按键'2' | 9 |
KEYCODE_3 | 按键'3' | 10 |
KEYCODE_4 | 按键'4' | 11 |
KEYCODE_5 | 按键'5' | 12 |
KEYCODE_6 | 按键'6' | 13 |
KEYCODE_7 | 按键'7' | 14 |
KEYCODE_8 | 按键'8' | 15 |
KEYCODE_9 | 按键'9' | 16 |
KEYCODE_A | 按键'A' | 29 |
KEYCODE_B | 按键'B' | 30 |
KEYCODE_C | 按键'C' | 31 |
KEYCODE_D | 按键'D' | 32 |
KEYCODE_E | 按键'E' | 33 |
KEYCODE_F | 按键'F' | 34 |
KEYCODE_G | 按键'G' | 35 |
KEYCODE_H | 按键'H' | 36 |
KEYCODE_I | 按键'I' | 37 |
KEYCODE_J | 按键'J' | 38 |
KEYCODE_K | 按键'K' | 39 |
KEYCODE_L | 按键'L' | 40 |
KEYCODE_M | 按键'M' | 41 |
KEYCODE_N | 按键'N' | 42 |
KEYCODE_O | 按键'O' | 43 |
KEYCODE_P | 按键'P' | 44 |
KEYCODE_Q | 按键'Q' | 45 |
KEYCODE_R | 按键'R' | 46 |
KEYCODE_S | 按键'S' | 47 |
KEYCODE_T | 按键'T' | 48 |
KEYCODE_U | 按键'U' | 49 |
KEYCODE_V | 按键'V' | 50 |
KEYCODE_W | 按键'W' | 51 |
KEYCODE_X | 按键'X' | 52 |
KEYCODE_Y | 按键'Y' | 53 |
KEYCODE_Z | 按键'Z' | 54 |
多媒体键
KEYCODE_MEDIA_PLAY | 多媒体键 播放 |
---|---|
KEYCODE_MEDIA_STOP | 多媒体键 停止 |
KEYCODE_MEDIA_PAUSE | 多媒体键 暂停 |
KEYCODE_MEDIA_PLAY_PAUSE | 多媒体键 播放/暂停 |
KEYCODE_MEDIA_FAST_FORWARD | 多媒体键 快进 |
KEYCODE_MEDIA_REWIND | 多媒体键 快退 |
KEYCODE_MEDIA_NEXT | 多媒体键 下一首 |
KEYCODE_MEDIA_PREVIOUS | 多媒体键 上一首 |
KEYCODE_MEDIA_CLOSE | 多媒体键 关闭 |
KEYCODE_MEDIA_EJECT | 多媒体键 弹出 |
KEYCODE_MEDIA_RECORD | 多媒体键 录音 |
F1~F12功能键
KEYCODE_F1 | 按键F1 |
---|---|
KEYCODE_F2 | 按键F2 |
KEYCODE_F3 | 按键F3 |
KEYCODE_F4 | 按键F4 |
KEYCODE_F5 | 按键F5 |
KEYCODE_F6 | 按键F6 |
KEYCODE_F7 | 按键F7 |
KEYCODE_F8 | 按键F8 |
KEYCODE_F9 | 按键F9 |
KEYCODE_F10 | 按键F10 |
KEYCODE_F11 | 按键F11 |
KEYCODE_F12 | 按键F12 |
符号按键
KEYCODE_PLUS | 按键'+' |
---|---|
KEYCODE_MINUS | 按键'-' |
KEYCODE_STAR | 按键'*' |
KEYCODE_SLASH | 按键'/' |
KEYCODE_EQUALS | 按键'=' |
KEYCODE_AT | 按键'@' |
KEYCODE_POUND | 按键'#' |
KEYCODE_APOSTROPHE | 按键''' (单引号) |
KEYCODE_BACKSLASH | 按键'\' |
KEYCODE_COMMA | 按键',' |
KEYCODE_PERIOD | 按键'.' |
KEYCODE_LEFT_BRACKET | 按键'[' |
KEYCODE_RIGHT_BRACKET | 按键']' |
KEYCODE_SEMICOLON | 按键';' |
KEYCODE_GRAVE | 按键'`' |
KEYCODE_SPACE | 空格键 |
小键盘按键
KEYCODE_NUMPAD_0 | 小键盘按键'0' |
---|---|
KEYCODE_NUMPAD_1 | 小键盘按键'1' |
KEYCODE_NUMPAD_2 | 小键盘按键'2' |
KEYCODE_NUMPAD_3 | 小键盘按键'3' |
KEYCODE_NUMPAD_4 | 小键盘按键'4' |
KEYCODE_NUMPAD_5 | 小键盘按键'5' |
KEYCODE_NUMPAD_6 | 小键盘按键'6' |
KEYCODE_NUMPAD_7 | 小键盘按键'7' |
KEYCODE_NUMPAD_8 | 小键盘按键'8' |
KEYCODE_NUMPAD_9 | 小键盘按键'9' |
KEYCODE_NUMPAD_ADD | 小键盘按键'+' |
KEYCODE_NUMPAD_SUBTRACT | 小键盘按键'-' |
KEYCODE_NUMPAD_MULTIPLY | 小键盘按键'*' |
KEYCODE_NUMPAD_DIVIDE | 小键盘按键'/' |
KEYCODE_NUMPAD_EQUALS | 小键盘按键'=' |
KEYCODE_NUMPAD_COMMA | 小键盘按键',' |
KEYCODE_NUMPAD_DOT | 小键盘按键'.' |
KEYCODE_NUMPAD_LEFT_PAREN | 小键盘按键'(' |
KEYCODE_NUMPAD_RIGHT_PAREN | 小键盘按键')' |
KEYCODE_NUMPAD_ENTER | 小键盘按键回车 |
adb推拉文件或文件夹
adb拉取文件
redeme.txt文件会从安卓设备被拷贝到PC端temp目录下
|
|
adb拉取文件夹
拉取文件夹与拉取文件相比,多了一个-a选项
book文件夹会从安卓设备被拷贝到PC端temp-book目录下,temp-book目录如果不存在时会自动新建该目录,如果不指定新建目录,则book目录下的所以文件会被拷贝到temp目录下,而不是book目录被拷贝到temp-book目录下
|
|
adb推送文件
redeme.txt文件会从PC端被拷贝到安卓设备的test目录下
|
|
adb推送文件夹
推送文件与推送文件夹的命令模式一样
temp-book文件夹会从PC端被拷贝到安卓设备的test目录下,test目录下会看到temp-book目录
|
|