主要有两个原因吧:

没有正确开启开发者模式下的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 版本”,之后便会提示已处于开发者模式:

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

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

开启开发者选项USB调试

这两个都得点开,我就是第二个忘记点了…

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,按照这个顺序:

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

然后在手机上,点击右键,点击属性 上图这个字符串就是就是VID 添加到 adb_usb.ini 中,要加上一个0x

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

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

以上部分参考自: https://stackoverflow.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 点击 (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

要点开这个: 老米手机,开启这个还需要tm的插入SIM卡

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

5. 其他设置

点开这个方便调试的地方:

一些其他的测试指令

# 点击屏幕的 250 250 位置

adb shell input tap 250 250

# 从屏幕的 250 250 滑动到 800 800 位置

adb shell input swipe 250 250 800 800

相关阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: