ADB无法在sudo adb设备之后启动或查找设备

我目前正在尝试让一个docker容器通过ADB连接到我的Android设备。 ADB能够看到设备已连接,但无法获得访问所需设备所需的权限。

通常情况下,我会通过运行一个简单的adb kill-server接着sudo adb-devices来快速修复这个问题。 不幸的是,sudo adb设备不能识别任何设备连接。 如果我尝试在执行sudo命令后的任何时间执行adb设备,则会遇到以下错误:

* 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设备请求上收到相同的错误。 为了解决这个问题,我必须手动删除请求生成的socket / tmp / 5037。

在这一点上,我的主要目标是访问我正在尝试使用的ADB设备。 是否有一些步骤可能会导致这种奇怪的行为?

以供参考:

  • usbdebugging是启用的,我可以adb从设备上运行docker容器的设备。
  • 确保在容器中运行adb start服务器之前,在容器中运行adb kill-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 

您需要在手机中启用USBdebugging。 在你的手机上去

  • 设置
  • 一般
  • 开发者选项
  • USBdebugging

在Android 4.2及更高版本中,开发者选项菜单和USBdebugging选项已被隐藏。 在Android的以前的4.X版本中,USB Debugging选项位于Developer Options菜单下。 首先,您需要启用“开发者选项菜单”。

点击“菜单”button进入App抽屉。 前往设置”。 向下滚动到底部,点击“关于手机”或“关于平板电脑”,向下滚动到“关于手机”的底部,并find“内部编号”字段。

点击Build number字段七次以启用开发者选项。 点击几次,你会看到一个倒计时:“你现在离开发商有三步之遥了。” 完成后,您会看到“您现在是开发人员!”的消息。 点击“后退”button,您将看到“设置”屏幕上“系统”下的“开发人员选项”菜单。 现在,您可以启用USBdebugging模式。

进入设置>开发者选项> USBdebugging。 点击USBdebuggingcheckbox。