ADB

ADB:Android debuger bridge

本文基于ADBSHELL官方文档进行翻译,适当补充。

ADB默认安装在如下目录:C:\Users\[username]\AppData\Local\Android\Sdk\platform-tools。

0 使用方法

用命令行窗口定位到adb路径:

cd AppData\Local\Android\Sdk\platform-tools

然后使用adb命令。

1 命令清单

官方地址:http://adbshell.com/commands

调试

adb devices 列出可用的设备和仿真器

adb forward <local> <remote>

adb kill-server 结束adb

连接

adb usb 通过usb使用adb

adb connect 通过wifi使用adb

包管理

adb install [option] <path> 通过adb向设备安装apk

adb uninstall [options] <PACKAGE> 通过adb从设备卸载apk

adb shell pm list packages [options] <FILTER> 列出所有包

adb shell pm path <PACKAGE> 列出指定包的路径

adb shell pm clear <PACKAGE> 清除指定包的所有相关数据

文件管理

adb pull <remote> [local] 从设备拉取文件到计算机

adb push <local> <remote> 从计算机推送文件到设备

adb shell ls 列出目录下的全部内容

adb shell cd 打开指定目录

adb shell rm 移除文件或目录

adb shell mkdir 创建目录

adb shell touch 创建空文件或修改时间戳

adb shell pwd 打印当前工作路径

adb shell cp 复制文件和目录

adb shell mv 移动文件或目录

网络

adb shell netstat 网络统计

adb shell ping 测试网络连接

adb shell netcfg 配置、管理网络连接

adb shell ip 设置、管理IP

日志

adb logcat 打印日志

adb shell dumpsys 打印系统文件

adb shell dumpstate 打印state文件

屏幕截图

adb shell screencap 获取截屏

adb shell screenrecord [4.4+] 记录屏幕

系统

adb root 以root权限重启abdb进程

adb sideload 刷新/恢复Android update.zip包

adb shell ps 打印进程状态

adb shell top 显示占用CPU最多的进程

adb shell getprop 通过Android属性服务获取属性

adb shell setprop 通过Android属性服务设置属性

adb shell input 向设备发送命令

1.1 adb connect

通过WIFI使用ADB,步骤如下:

step 1 通过USB连接设备

step2 列出设备清单

adb devices

step3 启动ADB

adb tcpip 5555

step 4 在Android设备上找到IP

step 5 通过无线连接设备

adb connect [IP]:5555

step 6 从usb移除设备

step 7 确认设备可用

adb devices

1.2 adb install [option] <path>

通过ADB向设备安装APK。

命令格式:

adb install [option] <path>

示例:

adb install test.apk

adb install -l test.apk 锁定应用,l:lock

adb install -r test.apk 替换应用,r:replace

adb install -t test.apk 允许测试,t:test

adb install -s test.apk安装在SD卡上,s:sdcard

adb install -d test.apk 允许版本降级,d:downgrade

adb install -p test.apk 部分安装,p:partial

1.3 adb uninstall [options] <PACKAGE>

通过ADB从设备卸载APK。

命令格式:

adb uninstall [options] <PACKAGE>

命令示例:

adb uninstall com.test.app

adb uninstall -k com.test.app 卸载后保留数据和缓存目录

1.4 adb shell pm list packages [options] <FILTER>

 

1.5 adb shell dumpsys

获取系统分辨率:

adb shell dumpsys window displays

1.6 adb shell screencap

获取屏幕截图:

adb shell screencap /sdcard/screen.png

adb pull /sdcard/screen.png

1.7 adb shell input

1.7.1 使用方法

执行如下命令查看使用帮助:

adb shell input

命令用法:

input [<source>] <command> [<arg>...]

<source>:

dpad

keyboard

mouse

touchpad

gamepad

touchnavigation

joystick

touchscreen

stylus

trackball

<command>与缺省<source>:

text <string> (Default: touchscreen)

keyevent [--longpress] <key code number or name> ... (Default: keyboard)

tap <x> <y> (Default: touchscreen)

swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)

draganddrop <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)

press (Default: trackball)

roll <dx> <dy> (Default: trackball)

tmode <tmode>

1.7.2 示例

向手机发送模拟操作命令:

adb shell input text abc //输入字符abc

adb shell input keyevent 3 //数字是Android keyevent编码,3是home键

adb shell input keyevent --longpress] 3 //长按home键

adb shell input tap 50 250 //触摸坐标50 250

adb shell input swipe 50 50 250 250 500 //从坐标50 50滑动到坐标250 250 用时500ms

adb shell input draganddrop 50 50 250 250 500 //从坐标50 50拖放到坐标250 250 用时500ms

1.7.3 keyevent编码文件

/** Key code constant: Unknown key code. */

public static final int KEYCODE_UNKNOWN         = 0;

/** Key code constant: Soft Left key.

 * Usually situated below the display on phones and used as a multi-function

 * feature key for selecting a software defined function shown on the bottom left

 * of the display. */

public static final int KEYCODE_SOFT_LEFT       = 1;

/** Key code constant: Soft Right key.

 * Usually situated below the display on phones and used as a multi-function

 * feature key for selecting a software defined function shown on the bottom right

 * of the display. */

public static final int KEYCODE_SOFT_RIGHT      = 2;

/** Key code constant: Home key.

 * This key is handled by the framework and is never delivered to applications. */

public static final int KEYCODE_HOME            = 3;

/** Key code constant: Back key. */

public static final int KEYCODE_BACK            = 4;

/** Key code constant: Call key. */

public static final int KEYCODE_CALL            = 5;

/** Key code constant: End Call key. */

public static final int KEYCODE_ENDCALL         = 6;

/** Key code constant: '0' key. */

public static final int KEYCODE_0               = 7;

/** Key code constant: '1' key. */

public static final int KEYCODE_1               = 8;

/** Key code constant: '2' key. */

public static final int KEYCODE_2               = 9;

/** Key code constant: '3' key. */

public static final int KEYCODE_3               = 10;

/** Key code constant: '4' key. */

public static final int KEYCODE_4               = 11;

/** Key code constant: '5' key. */

public static final int KEYCODE_5               = 12;

/** Key code constant: '6' key. */

public static final int KEYCODE_6               = 13;

/** Key code constant: '7' key. */

public static final int KEYCODE_7               = 14;

/** Key code constant: '8' key. */

public static final int KEYCODE_8               = 15;

/** Key code constant: '9' key. */

public static final int KEYCODE_9               = 16;

/** Key code constant: '*' key. */

public static final int KEYCODE_STAR            = 17;

/** Key code constant: '#' key. */

public static final int KEYCODE_POUND           = 18;

/** Key code constant: Directional Pad Up key.

 * May also be synthesized from trackball motions. */

public static final int KEYCODE_DPAD_UP         = 19;

/** Key code constant: Directional Pad Down key.

 * May also be synthesized from trackball motions. */

public static final int KEYCODE_DPAD_DOWN       = 20;

/** Key code constant: Directional Pad Left key.

 * May also be synthesized from trackball motions. */

public static final int KEYCODE_DPAD_LEFT       = 21;

/** Key code constant: Directional Pad Right key.

 * May also be synthesized from trackball motions. */

public static final int KEYCODE_DPAD_RIGHT      = 22;

/** Key code constant: Directional Pad Center key.

 * May also be synthesized from trackball motions. */

public static final int KEYCODE_DPAD_CENTER     = 23;

/** Key code constant: Volume Up key.

 * Adjusts the speaker volume up. */

public static final int KEYCODE_VOLUME_UP       = 24;

/** Key code constant: Volume Down key.

 * Adjusts the speaker volume down. */

public static final int KEYCODE_VOLUME_DOWN     = 25;

/** Key code constant: Power key. */

public static final int KEYCODE_POWER           = 26;

/** Key code constant: Camera key.

 * Used to launch a camera application or take pictures. */

public static final int KEYCODE_CAMERA          = 27;

/** Key code constant: Clear key. */

public static final int KEYCODE_CLEAR           = 28;

/** Key code constant: 'A' key. */

public static final int KEYCODE_A               = 29;

/** Key code constant: 'B' key. */

public static final int KEYCODE_B               = 30;

/** Key code constant: 'C' key. */

public static final int KEYCODE_C               = 31;

/** Key code constant: 'D' key. */

public static final int KEYCODE_D               = 32;

/** Key code constant: 'E' key. */

public static final int KEYCODE_E               = 33;

/** Key code constant: 'F' key. */

public static final int KEYCODE_F               = 34;

/** Key code constant: 'G' key. */

public static final int KEYCODE_G               = 35;

/** Key code constant: 'H' key. */

public static final int KEYCODE_H               = 36;

/** Key code constant: 'I' key. */

public static final int KEYCODE_I               = 37;

/** Key code constant: 'J' key. */

public static final int KEYCODE_J               = 38;

/** Key code constant: 'K' key. */

public static final int KEYCODE_K               = 39;

/** Key code constant: 'L' key. */

public static final int KEYCODE_L               = 40;

/** Key code constant: 'M' key. */

public static final int KEYCODE_M               = 41;

/** Key code constant: 'N' key. */

public static final int KEYCODE_N               = 42;

/** Key code constant: 'O' key. */

public static final int KEYCODE_O               = 43;

/** Key code constant: 'P' key. */

public static final int KEYCODE_P               = 44;

/** Key code constant: 'Q' key. */

public static final int KEYCODE_Q               = 45;

/** Key code constant: 'R' key. */

public static final int KEYCODE_R               = 46;

/** Key code constant: 'S' key. */

public static final int KEYCODE_S               = 47;

/** Key code constant: 'T' key. */

public static final int KEYCODE_T               = 48;

/** Key code constant: 'U' key. */

public static final int KEYCODE_U               = 49;

/** Key code constant: 'V' key. */

public static final int KEYCODE_V               = 50;

/** Key code constant: 'W' key. */

public static final int KEYCODE_W               = 51;

/** Key code constant: 'X' key. */

public static final int KEYCODE_X               = 52;

/** Key code constant: 'Y' key. */

public static final int KEYCODE_Y               = 53;

/** Key code constant: 'Z' key. */

public static final int KEYCODE_Z               = 54;

/** Key code constant: ',' key. */

public static final int KEYCODE_COMMA           = 55;

/** Key code constant: '.' key. */

public static final int KEYCODE_PERIOD          = 56;

/** Key code constant: Left Alt modifier key. */

public static final int KEYCODE_ALT_LEFT        = 57;

/** Key code constant: Right Alt modifier key. */

public static final int KEYCODE_ALT_RIGHT       = 58;

/** Key code constant: Left Shift modifier key. */

public static final int KEYCODE_SHIFT_LEFT      = 59;

/** Key code constant: Right Shift modifier key. */

public static final int KEYCODE_SHIFT_RIGHT     = 60;

/** Key code constant: Tab key. */

public static final int KEYCODE_TAB             = 61;

/** Key code constant: Space key. */

public static final int KEYCODE_SPACE           = 62;

/** Key code constant: Symbol modifier key.

 * Used to enter alternate symbols. */

public static final int KEYCODE_SYM             = 63;

/** Key code constant: Explorer special function key.

 * Used to launch a browser application. */

public static final int KEYCODE_EXPLORER        = 64;

/** Key code constant: Envelope special function key.

 * Used to launch a mail application. */

public static final int KEYCODE_ENVELOPE        = 65;

/** Key code constant: Enter key. */

public static final int KEYCODE_ENTER           = 66;

/** Key code constant: Backspace key.

 * Deletes characters before the insertion point, unlike {@link #KEYCODE_FORWARD_DEL}. */

public static final int KEYCODE_DEL             = 67;

/** Key code constant: '`' (backtick) key. */

public static final int KEYCODE_GRAVE           = 68;

/** Key code constant: '-'. */

public static final int KEYCODE_MINUS           = 69;

/** Key code constant: '=' key. */

public static final int KEYCODE_EQUALS          = 70;

/** Key code constant: '[' key. */

public static final int KEYCODE_LEFT_BRACKET    = 71;

/** Key code constant: ']' key. */

public static final int KEYCODE_RIGHT_BRACKET   = 72;

/** Key code constant: '\' key. */

public static final int KEYCODE_BACKSLASH       = 73;

/** Key code constant: ';' key. */

public static final int KEYCODE_SEMICOLON       = 74;

/** Key code constant: ''' (apostrophe) key. */

public static final int KEYCODE_APOSTROPHE      = 75;

/** Key code constant: '/' key. */

public static final int KEYCODE_SLASH           = 76;

/** Key code constant: '@' key. */

public static final int KEYCODE_AT              = 77;

/** Key code constant: Number modifier key.

 * Used to enter numeric symbols.

 * This key is not Num Lock; it is more like {@link #KEYCODE_ALT_LEFT} and is

 * interpreted as an ALT key by {@link android.text.method.MetaKeyKeyListener}. */

public static final int KEYCODE_NUM             = 78;

/** Key code constant: Headset Hook key.

 * Used to hang up calls and stop media. */

public static final int KEYCODE_HEADSETHOOK     = 79;

/** Key code constant: Camera Focus key.

 * Used to focus the camera. */

public static final int KEYCODE_FOCUS           = 80;   // *Camera* focus

/** Key code constant: '+' key. */

public static final int KEYCODE_PLUS            = 81;

/** Key code constant: Menu key. */

public static final int KEYCODE_MENU            = 82;

/** Key code constant: Notification key. */

public static final int KEYCODE_NOTIFICATION    = 83;

/** Key code constant: Search key. */

public static final int KEYCODE_SEARCH          = 84;

/** Key code constant: Play/Pause media key. */

public static final int KEYCODE_MEDIA_PLAY_PAUSE= 85;

/** Key code constant: Stop media key. */

public static final int KEYCODE_MEDIA_STOP      = 86;

/** Key code constant: Play Next media key. */

public static final int KEYCODE_MEDIA_NEXT      = 87;

/** Key code constant: Play Previous media key. */

public static final int KEYCODE_MEDIA_PREVIOUS  = 88;

/** Key code constant: Rewind media key. */

public static final int KEYCODE_MEDIA_REWIND    = 89;

/** Key code constant: Fast Forward media key. */

public static final int KEYCODE_MEDIA_FAST_FORWARD = 90;

/** Key code constant: Mute key.

 * Mutes the microphone, unlike {@link #KEYCODE_VOLUME_MUTE}. */

public static final int KEYCODE_MUTE            = 91;

/** Key code constant: Page Up key. */

public static final int KEYCODE_PAGE_UP         = 92;

/** Key code constant: Page Down key. */

public static final int KEYCODE_PAGE_DOWN       = 93;

/** Key code constant: Picture Symbols modifier key.

 * Used to switch symbol sets (Emoji, Kao-moji). */

public static final int KEYCODE_PICTSYMBOLS     = 94;   // switch symbol-sets (Emoji,Kao-moji)

/** Key code constant: Switch Charset modifier key.

 * Used to switch character sets (Kanji, Katakana). */

public static final int KEYCODE_SWITCH_CHARSET  = 95;   // switch char-sets (Kanji,Katakana)

/** Key code constant: A Button key.

 * On a game controller, the A button should be either the button labeled A

 * or the first button on the bottom row of controller buttons. */

public static final int KEYCODE_BUTTON_A        = 96;

/** Key code constant: B Button key.

 * On a game controller, the B button should be either the button labeled B

 * or the second button on the bottom row of controller buttons. */

public static final int KEYCODE_BUTTON_B        = 97;

/** Key code constant: C Button key.

 * On a game controller, the C button should be either the button labeled C

 * or the third button on the bottom row of controller buttons. */

public static final int KEYCODE_BUTTON_C        = 98;

/** Key code constant: X Button key.

 * On a game controller, the X button should be either the button labeled X

 * or the first button on the upper row of controller buttons. */

public static final int KEYCODE_BUTTON_X        = 99;

/** Key code constant: Y Button key.

 * On a game controller, the Y button should be either the button labeled Y

 * or the second button on the upper row of controller buttons. */

public static final int KEYCODE_BUTTON_Y        = 100;

/** Key code constant: Z Button key.

 * On a game controller, the Z button should be either the button labeled Z

 * or the third button on the upper row of controller buttons. */

public static final int KEYCODE_BUTTON_Z        = 101;

/** Key code constant: L1 Button key.

 * On a game controller, the L1 button should be either the button labeled L1 (or L)

 * or the top left trigger button. */

public static final int KEYCODE_BUTTON_L1       = 102;

/** Key code constant: R1 Button key.

 * On a game controller, the R1 button should be either the button labeled R1 (or R)

 * or the top right trigger button. */

public static final int KEYCODE_BUTTON_R1       = 103;

/** Key code constant: L2 Button key.

 * On a game controller, the L2 button should be either the button labeled L2

 * or the bottom left trigger button. */

public static final int KEYCODE_BUTTON_L2       = 104;

/** Key code constant: R2 Button key.

 * On a game controller, the R2 button should be either the button labeled R2

 * or the bottom right trigger button. */

public static final int KEYCODE_BUTTON_R2       = 105;

/** Key code constant: Left Thumb Button key.

 * On a game controller, the left thumb button indicates that the left (or only)

 * joystick is pressed. */

public static final int KEYCODE_BUTTON_THUMBL   = 106;

/** Key code constant: Right Thumb Button key.

 * On a game controller, the right thumb button indicates that the right

 * joystick is pressed. */

public static final int KEYCODE_BUTTON_THUMBR   = 107;

/** Key code constant: Start Button key.

 * On a game controller, the button labeled Start. */

public static final int KEYCODE_BUTTON_START    = 108;

/** Key code constant: Select Button key.

 * On a game controller, the button labeled Select. */

public static final int KEYCODE_BUTTON_SELECT   = 109;

/** Key code constant: Mode Button key.

 * On a game controller, the button labeled Mode. */

public static final int KEYCODE_BUTTON_MODE     = 110;

/** Key code constant: Escape key. */

public static final int KEYCODE_ESCAPE          = 111;

/** Key code constant: Forward Delete key.

 * Deletes characters ahead of the insertion point, unlike {@link #KEYCODE_DEL}. */

public static final int KEYCODE_FORWARD_DEL     = 112;

/** Key code constant: Left Control modifier key. */

public static final int KEYCODE_CTRL_LEFT       = 113;

/** Key code constant: Right Control modifier key. */

public static final int KEYCODE_CTRL_RIGHT      = 114;

/** Key code constant: Caps Lock key. */

public static final int KEYCODE_CAPS_LOCK       = 115;

/** Key code constant: Scroll Lock key. */

public static final int KEYCODE_SCROLL_LOCK     = 116;

/** Key code constant: Left Meta modifier key. */

public static final int KEYCODE_META_LEFT       = 117;

/**
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值