ADB 常用命令

# 一.基本命令

 ·adb -s serialNumber shell//进入指定设备

 ·adb version//查看版本

 ·adb logcat //查看日志

 ·adb devices //查看设备

 ·adb get-state//连接状态

 ·adb start-server //启动ADB服务

 ·adb kill-server //停止ADB服务

 ·adb push local remote //电脑推送到手机

 ·adb pull remote local //手机拉取到电脑

----------------------------------------------------------------------------------------------------------------------------

 

# 二. am 与pm

  • am start -n {packageName}/.{activityName}  启动app
  • am kill <packageName>  杀app的进程
  • am force-stop  <packageName>  强制停止一切
  • am startservice  启动服务

    · am stopservice 停止服务

  • am start -a android.intent.action.VIEW -d  http://www.12306.cn/打开12306网站
  • am start -a android.intent.action.CALL -d tel:10086  拨打10086

  • pm list packages  列出手机所有的包名
  • pm install/uninstall  安装/卸载

     

    -------------------------------------------------------------------------------------------------------------------

    #三. 模拟用户事件

    文本输入:  adb shell input text <string> 例手机端输出demo字符串,相应指令:adb shell input "demo".

  • 键盘事件: input keyevent <KEYCODE>其中KEYCODE见本文结尾的附表 例点击返回键,相应指令:input keyevent 4.

  • 点击事件: input tap <x> <y> 例点击坐标(500,500),相应指令: input tap 500 500.

  • 滑动事件: input swipe <x1> <y1> <x2> <y2> <time>例从坐标(300,500)滑动到(100,500),相应指令: input swipe 300 500 100 500. 例200ms时间从坐标(300,500)滑动到(100,500),相应指令:input swipe 300 500 100 500 200.

  • -------------------------------------------------------------------------------------------------------------------

  • # 四.logcat

  • logcat \| grep  <str> 显示包含的logcat
  • logcat \| grep -i <str> 显示包含,并忽略大小写的logcat
  • logcat -d 读完所有log后返回,而不会一直等待
  • logcat -c 清空log并退出
  • logcat -t <count>  打印最近的count
  • logcat -v  <format>格式化输出Log,其中format有如下可选值:    
    • brief — 显示优先级/标记和原始进程的PID (默认格式)
    • process — 仅显示进程PID
    • tag — 仅显示优先级/标记
    • thread — 仅显示进程:线程和优先级/标记
    • raw — 显示原始的日志信息,没有其他的元数据字段
    • time — 显示日期,调用时间,优先级/标记,PID
    • long —显示所有的元数据字段并且用空行分隔消息内容
  •  

    -------------------------------------------------------------------------------------------------------------------

    # 五.常用节点

    查看节点值,例如:cat /sys/class/leds/lcd-backlight/brightness 修改节点值,例如:echo 128 > sys/class/leds/lcd-backlight/brightness

    • LPM: echo N > /sys/modue/lpm_levels/parameters/sleep_disabled

    • 亮度: /sys/class/leds/lcd-backlight/brightness

    • CPU: /sys/devices/system/cpu/cpu0/cpufreq

    • GPU: /sys/class/ kgsl/kgsl-3d0/gpuclk

    • 限频: cat /data/pmlist.config

    • 电流: cat /sys/class/power_supply/battery/current_now

    • 查看Power: dumpsys power

    • WIFI data/misc/wifi/wpa_supplicant.conf

    • 持有wake_lock: echo a> sys/power/wake_lock 释放wake_lock: echo a> sys/power/wake_unlock

    • 查看Wakeup_source: cat sys/kernel/debug/wakeup_sources

    • SurfaceFlinger dumpsys SurfaceFlinger

    • Display(关闭AD): mv /data/misc/display/calib.cfg  /data/misc/display/calib.cfg.bak   重启

    • 关闭cabc:  echo 0 > /sys/device/virtual/graphics/fb0/cabc_onoff 打开cabc:echo 3 > /sys/device/virtual/graphics/fb0/cabc_onoff

    • systrace: sdk/tools/monitor

    • 限频:  echo /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq      1497600

    • 当出现read-only 且 remount命令不管用时:  adb shell mount -o rw,remount /

    • 进入9008模式: adb reboot edl

    • 查看高通gpio:sys/class/private/tlmm 或者 sys/private/tlmm

    • 查看gpio占用情况:sys/kernel/debug/gpio

    -------------------------------------------------------------------------------------------------------------------

    # 六.远程ADB

    为了避免使用数据线,可通过WiFi通信,前提是手机与pc处于同一局域网

    启动方法:

    adb tcpip 5555  //这一步,必须通过数据线把手机与PC连接后再执行

    adb connect<手机IP>

     

    停止方法:

    adb disconnect//断开wifi连接

    adb usb//切换到usb模式

    --------------------------------------------------------------------------

    # 七.附表

    下表中,箭头左边为keycode值,箭头右边为keycode的含义,部分用中文标注

    0 –>  “KEYCODE_UNKNOWN”

    1 –>  “KEYCODE_MENU”

    2 –>  “KEYCODE_SOFT_RIGHT”

    3 –>  “KEYCODE_HOME”     //Home键

    4 –>  “KEYCODE_BACK”     //返回键

    5 –>  “KEYCODE_CALL”

    6 –>  “KEYCODE_ENDCALL”

    7 –>  “KEYCODE_0”       //数字键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”   //Power键

     27 –>  “KEYCODE_CAMERA”

    28 –>  “KEYCODE_CLEAR”

    29 –>  “KEYCODE_A”    //字母键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”

     

     

<think>我们正在回答用户关于ADB常用命令列表及其使用方法的问题。根据引用内容,我们可以整理出常用的ADB命令,并按照功能分类。同时,我们需要注意用户要求的结构:使用中文,生成相关问题,并在引用处添加引用标识。分类整理ADB命令:1.设备连接相关2.应用管理相关3.设备信息获取4.文件操作5.日志相关6.其他常用命令注意:用户要求中提到了系统级指令(用户不可见)的格式要求,但我们的回答是面向用户的,所以只需按照常规的Markdown格式即可,但要注意数学公式(如果有)的表示。不过ADB命令通常不涉及数学公式,所以重点在于清晰列举命令和说明。另外,用户要求生成相关问题,我们在最后提出。根据引用内容:引用[1]:提供了获取系统版本和电池信息的命令。引用[2]:提供了列出应用的相关命令。引用[3]:提供了安装和卸载应用的命令。我们还需要补充其他常用命令。步骤:1.设备连接2.应用管理3.信息获取4.文件操作5.日志6.其他注意:在引用到参考内容的地方,在末尾添加引用标识,例如[^1]。</think>### ADB 常用命令大全及功能说明 #### 一、设备连接管理 1. **连接设备** ```bash adb connect 127.0.0.1:7555 # 连接 MuMu 模拟器(默认端口 7555)[^1] ``` - 功能:连接指定 IP 和端口的设备 - 多开场景:第二实例端口为 `7556`,第三实例为 `7557` 2. **设备列表** ```bash adb devices # 列出所有已连接设备 ``` - 输出示例: ``` List of devices attached 127.0.0.1:7555 device ``` 3. **重启 ADB 服务** ```bash adb kill-server && adb start-server # 解决连接超时问题 ``` --- #### 二、应用管理 1. **安装/卸载应用** ```bash adb install app.apk # 安装应用 [^3] adb install -d app.apk # 降级安装(兼容旧版本) adb uninstall com.example.app # 卸载应用 adb uninstall -k com.example.app # 卸载但保留数据 ``` 2. **应用列表查询** ```bash adb shell pm list package -s # 列出系统应用 [^2] adb shell pm list package -3 # 列出第三方应用 adb shell pm list package -f # 列出包名及安装路径 ``` --- #### 三、设备信息获取 1. **系统信息** ```bash adb shell getprop ro.build.version.release # 获取 Android 版本 [^1] ``` - 输出示例:`11.0.0` 2. **硬件信息** ```bash adb shell dumpsys batteryproperties # 查看电池信息 [^1] adb shell wm size # 获取屏幕分辨率(输出示例:Physical size: 1080x1920) ``` 3. **设备型号** ```bash adb shell getprop ro.product.model # 获取设备型号 ``` --- #### 四、文件操作 1. **文件传输** ```bash adb push local.txt /sdcard/ # 复制文件到设备 adb pull /sdcard/remote.txt . # 从设备复制文件到本地 ``` 2. **设备文件管理** ```bash adb shell ls /sdcard/ # 列出设备目录内容 adb shell rm /sdcard/file.txt # 删除设备文件 ``` --- #### 五、调试与日志 1. **日志抓取** ```bash adb logcat # 实时查看日志 adb logcat > log.txt # 保存日志到文件 ``` 2. **进入 Shell** ```bash adb shell # 进入设备命令行(可执行 Linux 命令) ``` --- #### 六、其他实用命令 1. **屏幕截图** ```bash adb exec-out screencap -p > screen.png # 截图保存到本地 ``` 2. **模拟输入** ```bash adb shell input tap 500 500 # 模拟点击坐标 (500,500) adb shell input swipe 500 1000 500 200 # 模拟滑动 ``` 3. **重启设备** ```bash adb reboot # 重启设备 ``` > ⚠️ **注意事项** > - 部分命令需设备开启 `USB 调试模式` > - 多设备时用 `-s 设备号` 指定目标设备(如 `adb -s 127.0.0.1:7555 shell`)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值