我想在虚拟机上的Windows 7虚拟机中使用单声道安卓(又名monodroid),但是我的手机与adb连接有问题。当我运行“adb devices”列出存在的设备时,它显示没有问题,但是当我尝试运行“adb install”,logcat或推送它时挂起。目前虚拟机中存在一个适用于此的错误,但我希望有更多比我自己知识渊博的人有一个解决方法。
https://www.virtualbox.org/ticket/6620
当然,如果Xamarin发布了他们产品的linux端口或者我熟悉Java,那么这不会是一个问题,但我认为这些问题略有不同。
Brian,您可能会考虑的一种解决方法是让您的VM主机也成为ADB主机。然后,您可以通过TCP / IP将VM客户端连接到它。以下是该设置的一般概念:
adb
的platform-tools包。adb kill-server
。确保它成为tskill adb
。如果您有任何正在运行的Eclipse实例,那么您首先要关闭它们,因为它实际上会在后台启动adb
。不要跳过这一步。adb devices
。如果一切顺利(并且它应该),您将看到列出您的设备。它看起来应该是这样的(注意端口号并抱歉):
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
015d2994ed200409 device
此时,您的主机应该有一个在端口5037上运行的ADB服务器。您可以通过运行telnet 10.0.2.2 5037
从VM客户端进行检查,其中10.0.2.2
是VirtualBox主机的默认IP,5037
是上面提到的默认ADB端口。
ssh
(可能通过Cygwin)进行简单的端口传输:
autossh -nNL5037:localhost:5037 -oExitOnForwardFailure=yes 10.0.2.2
adb devices
。如果你看到“守护程序没有运行”,那就意味着你的端口正在搞砸了。否则你应该看到你的设备并能够整天登录。值得注意的一点是,除了实际使用调试桥之外,您的VM客户端上不会运行adb
守护程序。我使用了一种类似的机制来调试连接到远程机器的网络上的设备并且运行良好。
自问题发布以来,不确定VirtualBox中有什么变化,但是从VirtualBox菜单中选择USB设备 - > USB - > DeviceName可以无缝地工作。我正在开发VirtualBox 5.1.2 r108956。
我也遇到了运行虚拟机的ADB问题。我有一个Windows 10主机和一个Ubuntu 14.04客户端。 autossh
方法对我不起作用。我从另一个StackOverflow question找到了一个更容易的解决方案。它要求您的PC和设备都在同一个WiFi网络上。
adb tcpip 5555
设备将断开与VM的连接,因为ADB现在处于TCP模式而不是USB模式。adb shell ip -f inet addr show wlan0
adb connect <Device IP>:5555
从这里开始,我的所有adb shell,logcat和monkey会话都没有中断!
我有同样的问题,它让我搜索大约2个小时。我尝试了几种方法,包括所有上述解决方案,但没有一个工作
我的情况
我的主机是archlinux,客户是Windows 8.1我在windows中运行flash builder但usb调试不起作用,我的连接设备是nexus 5所以我按照这些步骤
在我的情况下,我应该将驱动程序复制到flashbuilder安卓驱动程序路径,但也许对于你的情况,这是没有必要的
我对VirtualBox 5.0.14也有同样的问题,Stephen Niedzielski提供的解决方案对我不起作用。如果有人仍然感兴趣可以试试这个解决方案。
我的环境是:
在主机操作系统中启动一个wifi热点并连接android设备,或者在路由器中连接两者。在虚拟机中将来宾操作系统的网络模式设置为“桥接适配器”,然后选择Wifi适配器的名称。这样主机操作系统和安卓设备就在同一个网络中。
然后,在Android设备中激活“开发者模式”并启用Cyanomodgen提供的“网络上的ADB”。 (对于具有原始版本android的设备,谷歌如果可能的话如何在网络上使用ADV)在主机操作系统中运行'adb kill-server'并确保没有ADB实例正在运行。然后运行命令'adb connect 192.168.2.12',android设备的ip。
恭喜:)现在你可以使用Android设备的ADB来获取logcat或拉动和推送文件。