红米手机/老米手机 adb devices 找不到设备

时间:2022-10-07 18:53:20

主要有两个原因吧:

  • 没有正确开启开发者模式下的USB调试
  • 驱动列表里没有设备信息

可以根据我下面的步骤对照一下看看操作对不对,下边儿是老米手机整adb的踩坑过程

1. 手机端操作

顺便说一下X米手机的前置步骤,以下部分的文字和图片摘自:
小米手机开发者选项和USB调试打开步骤:https://miuiver.com/enable-miui-advanced-options/
Windows 配置 fastboot 和 adb 命令环境变量:https://miuiver.com/add-fastboot-and-adb-environment-variables/

小米手机开发者选项打开步骤

依次点击:手机设置 -> 我的设备 -> 全部参数 -> 连续点击几次MIUI 版本”,之后便会提示已处于开发者模式:

红米手机/老米手机 adb devices 找不到设备

手机USB调试打开步骤

在开启开发者模式后,依次点击:手机设置 -> 更多设置 -> 开发者选项 -> 开启“USB调试

红米手机/老米手机 adb devices 找不到设备

然而最近版本的有两个button:

  • 开启开发者选项
  • USB调试

这两个都得点开,我就是第二个忘记点了…
红米手机/老米手机 adb devices 找不到设备
红米手机/老米手机 adb devices 找不到设备

2. windows 环境配置

建议直接看这个文章:
https://miuiver.com/add-fastboot-and-adb-environment-variables/
就是下载Android SDK Platform Tools,然后添加到环境变量中就行,最后检查一下是否添加正确:

> adb --version

Android Debug Bridge version 1.0.41
Version 33.0.3-8952118
Installed as xxx\platform-tools\adb.exe

这里弄完之后建议整一个三连:

xxx>adb kill-server

xxx>adb start-server
* daemon not running; starting now at tcp:5037
* daemon started successfully

xxx>adb devices -l
List of devices attached

如果下边的List为空,那就可能是需要后边的操作,如果是这样的,那就没啥问题了:

C:\Users\zihao>adb devices -l
List of devices attached
35xxxx7c               device product:picasso model:Xiaomi_xxxxx device:picasso transport_id:1

3. 驱动部分

基本参考自:
https://www.jianshu.com/p/6131cbe22bea

咱第一步先获取设备的VID,按照这个顺序:

我的电脑右键 -> 管理 -> 设备管理器 -> 找到手机设备

红米手机/老米手机 adb devices 找不到设备
红米手机/老米手机 adb devices 找不到设备
然后在手机上,点击右键,点击属性
红米手机/老米手机 adb devices 找不到设备
红米手机/老米手机 adb devices 找不到设备
上图这个字符串就是就是VID 添加到 adb_usb.ini 中,要加上一个0x![请添加图片描述](https://img-blog.csdnimg.cn/2fdb50742d384fd4af3048c31a25825d.png)

红米手机/老米手机 adb devices 找不到设备

这个ini配置文件一般在 C:\Users\xxxx\.android 之下:

如果没有就在 C:\Users\xxxx\.android 下创建一个adb_usb.ini文件

红米手机/老米手机 adb devices 找不到设备

以上部分参考自:
https://*.com/questions/19830407/i-cant-find-adb-usb-ini-file-in-android-folder

4. 验证一下

cmd输入以下命令试试:

C:\Users\xxx>adb exec-out screencap -p > bbskali.png

就是截图并输入到当前目录(windows上)的bbskali.png图片中:

红米手机/老米手机 adb devices 找不到设备

使用 adb 点击 (250, 250)

C:\Users\xxxx>adb shell input tap 250 250


Exception occurred while executing 'tap':
java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission
        at com.android.server.input.InputManagerService.injectInputEventInternal(InputManagerService.java:928)
        at com.android.server.input.InputManagerService.injectInputEvent(InputManagerService.java:880)
        at android.hardware.input.InputManager.injectInputEvent(InputManager.java:1091)
        at com.android.server.input.InputShellCommand.injectMotionEvent(InputShellCommand.java:138)
        at com.android.server.input.InputShellCommand.sendTap(InputShellCommand.java:342)
        at com.android.server.input.InputShellCommand.runTap(InputShellCommand.java:336)
        at com.android.server.input.InputShellCommand.onCommand(InputShellCommand.java:192)
        at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
        at android.os.ShellCommand.exec(ShellCommand.java:38)
        at com.android.server.input.InputManagerService.onShellCommand(InputManagerService.java:3554)
        at android.os.Binder.shellCommand(Binder.java:953)
        at android.os.Binder.onTransact(Binder.java:837)
        at android.hardware.input.IInputManager$Stub.onTransact(IInputManager.java:1125)
        at android.os.Binder.execTransactInternal(Binder.java:1187)
        at android.os.Binder.execTransact(Binder.java:1146)

但是,报了这个:

SecurityException: Injecting to another application requires INJECT_EVENTS permission

要点开这个:
红米手机/老米手机 adb devices 找不到设备
老米手机,开启这个还需要tm的插入SIM卡

可以参考:
https://blog.csdn.net/weixin_42600398/article/details/116520110
想和我说同样的话的,可以看看这个:
https://www.zhihu.com/question/263928602

5. 其他设置

点开这个方便调试的地方:
红米手机/老米手机 adb devices 找不到设备

一些其他的测试指令

# 点击屏幕的 250 250 位置
adb shell input tap 250 250

# 从屏幕的 250 250 滑动到 800 800 位置
adb shell input swipe 250 250 800 800