我目前正在尝试让一个 docker 容器通过 ADB 连接到我的 android 设备。 ADB 能够看到设备已连接,但无法获得访问所需设备所需的权限。
通常我会通过运行一个简单的 adb kill-server 然后运行一个 sudo adb-devices 来快速解决这个问题。不幸的是, sudo adb devices 无法识别已连接的任何设备。如果我在执行 sudo 命令后随时尝试执行 adb devices,我会遇到以下错误:
* daemon not running. starting it now on port 5037 *
cannot bind 'local:5037'
ADB server didn't ACK
* failed to start daemon *
error: cannot connect to daemon
在这一点之后,即使我运行另一个 kill-server,我也会在 adb devices 请求上收到相同的错误。为了解决这个问题,我必须手动删除请求生成的套接字/tmp/5037。
此时,我的主要目标只是获得对我尝试测试的 ADB 设备的访问权限。我是否缺少某些可能导致这种奇怪行为的步骤?
供引用:
- usb 调试已启用,我可以从 adb 进入设备 上面运行着 docker 容器的盒子。
- 我确实确保在盒子上运行 adb kill-server 在容器内运行 adb start server 之前将容器放入其中。
lsusb 列出的设备:
Bus 001 Device 012: ID 0c2e:0ba1 android_device_name
/etc/udev/中的 99-android.rules 条目:
SUBSYSTEM=="usb", ATTR{idVendor}=="0c2e", GROUP="plugdev" MODE="0666"
SUBSYSTEM=="usb",ATTR{idVendor}=="0c2e",SYMLINK+="android_adb"
SUBSYSTEM=="usb",ATTR{idVendor}=="0c2e",SYMLINK+="android_fastboot"
我的 adb_usb.ini
0x067e
0x0c2e
0x05c6
最佳答案
您需要在手机中启用 USB 调试。在您的手机上转到
- 设置
- 一般
- 开发者选项
- USB调试
在 Android 4.2 及更高版本中,Developer Options 菜单和 USB Debugging 选项已被隐藏。在以前的 4.X 版本的 Android 中,USB 调试选项位于开发人员选项菜单下。 首先,您需要启用“开发者选项菜单”。
点击菜单按钮进入应用程序抽屉。 前往设置”。 向下滚动到底部并点击“关于手机”或“关于平板电脑”, 向下滚动到“关于手机”的底部,找到“版本号”字段。
点击内部版本号字段七次以启用开发者选项。点击几次,你会看到一个倒计时,上面写着“你现在距离成为开发人员只有 3 步了。” 完成后,您会看到消息“您现在是开发人员!”。 点击“后退”按钮,您将在“设置”屏幕上的“系统”下看到“开发者选项”菜单。 现在,您可以启用 USB Debug模式。
转到“设置”>“开发人员选项”>“USB 调试”。点击 USB 调试复选框。
关于android - sudo adb devices 后ADB无法启动或找不到设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43081332/