【发布时间】:2020-02-20 12:41:56
【问题描述】:
基于 react native 文档 (https://facebook.github.io/react-native/docs/running-on-device) 我想在我的 ubuntu vm (Ubuntu 18.04.2 LTS) 中连接到 ADB,但我的问题是我一直得到一个空列表。
那么我遵循了哪些步骤:
- lsusb 提取移动模型(在我的情况下为 2a45)
devnull@greg_server:~$ lsusb
Bus 001 Device 004: ID 2a45:2008 Meizu Corp. MX Phone (MTP)
总线 001 设备 002:ID 80ee:0021 VirtualBox USB 平板电脑
总线 001 设备 001:ID 1d6b:0001 Linux Foundation 1.1 根集线器
- 将此输入到您的 udev 规则中以启动和运行
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="2a45", MODE="0666", GROUP="plugdev"' | sudo tee /etc/udev/rules.d/51-android-usb.rules
- 显示 adb 列表
devnull@greg_server:~$ adb devices
附加设备列表
为了排除故障
“List of devices attached” is empty on Ubuntu 16.04 using "adb devices"
我按照以下步骤操作:
- 创建 adb_usb.ini 文件并重启 adb 服务器
devnull@greg_server:~$ cat ~/.android/adb_usb.ini
0x2a45
devnull@greg_server:~$ adb kill-server
devnull@greg_server:~$ adb start-server;
守护进程没有运行;现在从 tcp:5037 开始
守护进程启动成功
devnull@greg_server:~$ adb devices
附加设备列表
- 启用 USB 调试并再次检查 adb devices
在这种情况下,我注意到 lsusb 无法识别我的手机,并且 adb devices 命令再次返回一个空列表,如下所示
devnull@greg_server:~$ lsusb
总线 001 设备 002:ID 80ee:0021 VirtualBox USB 平板电脑
总线 001 设备 001:ID 1d6b:0001 Linux Foundation 1.1 根集线器
devnull@greg_server:~$ adb devices
附加设备列表
- 检查android usb文件配置
root@greg_server:/etc/udev/rules.d# pwd
/etc/udev/rules.d
root@greg_server:/etc/udev/rules.d# ls -lst
总共 64 个
4 -rw-r--r-- 1 root root 71 Oct 24 07:18 51-android-usb.rules
60 -rw-r--r-- 1 根根 58549 May 8 06:28 70-snap.core.rules
root@greg_server:/etc/udev/rules.d# cat 51-android-usb.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="2a45", MODE="0666", GROUP="plugdev"
对可能的情况有什么帮助吗?
【问题讨论】:
-
检查手机授权,你应该授权你的电脑访问你的设备
-
尝试禁用开发者选项并重新启用。在你这样做之前,还要从手机上拔下 USB。之后还启用 USB 调试,您应该会看到“允许此计算机访问...”对话框。这应该可以工作..
-
@mmmatey 建议为我做了。谢谢!
标签: javascript react-native react-native-android empty-list lsusb