我想使用adb
与Android模拟器。我可以伪造USB连接或者这怎么可能?
仿真器已植根,USB调试选项已打开
我也试过像adbWireless这样的应用程序,但我得到主机没有回应(10060)错误。
我是否总是需要USB连接进行初始化?如何将adb
与仿真器连接起来?
对于MEmu,Droid4X和其他基于VirtualBox的仿真器存在非常简单的方法:
您需要转发5555端口给您主机。
例如,在Droid4X中,您可以在文本编辑器中打开\vms\droid4x\droid4x.vbox
。它只是简单的xml文件。
在<NAT>
部分中,您添加了一行:
<Forwarding name="MY_PORT" proto="1" hostip="127.0.0.1" hostport="5565" guestip="10.0.2.15" guestport="5555"/>
您不仅可以使用5565端口。它必须是不均匀的,范围5555-5585或adb不会自动找到您的模拟器。
保存文件并启动模拟器。现在运行adb devices
,你会在列表中看到emulator-5564
。
您必须仅在完全停止的模拟器上编辑文件,否则您的更改将被覆盖。它不仅意味着停止虚拟机。您也必须停止服务流程。通常它从你的模拟器的文件夹中称为VBoxSVC.exe
或MemuSVC.exe
或另一个*SVC.exe
。
对于Memu,你需要编辑\MEmu\MemuHyperv VMs\MEmu\MEmu.memu
。所有其他人保持不变。
我正在使用Memu版本2.3,用于将其连接到Android studio的端口是21503.导航到您的sdk的platformtools目录并在cmd中执行以下操作。如果失败,请尝试再次执行它。您也可以安装三星USB驱动程序,然后重试。
adb connect localhost:21503
我通过以下步骤解决了:
转到Memu安装目录:(在我的案例中D:\ Program Files \ Microvirt \ MEmu)
然后删除adb.exe文件。它应该适合你。
好的,这是MEmu模拟器的分步指南。
下载并安装adbWireless应用程序到模拟器(谷歌“adbwireless xda”,我不能在这篇文章中插入超过2个链接)。之后,您将需要设置一个网桥,完全按照此处所写,并重新启动计算机:MEmu bridge
然后打开模拟器,激活USB调试,运行adbwireless,按下按钮。您应该看到IP地址,从“192.168”开始。如果没有 - 你做错了什么。
使用管理员权限运行命令shell。用它导航到带有adb的文件夹(在我的例子中是“D:\ Program Files \ Microvirt \ MEmuHyperv”或将其添加到系统Path变量)。记住adbwireless的IP,然后在shell中执行命令adb connect your_ip
,在我的例子中它是192.168.0.101。 shell会通知你:connected to 192.168.0.101:5555
。然后执行adb devices
,这样你就可以看到连接设备的列表。恭喜,您使用adb连接到MEmu。
在this post有更多的方法来建立连接,但它是俄语。
对于Nox App Player,端口是62001
。
$ adb connect 127.0.0.1:62001
connected to 127.0.0.1:62001
$ adb devices
List of devices attached
127.0.0.1:62001 device
$ adb shell
root@android:/ #
如果它不起作用,请先打开“USB Debugging”:
FindEmulatorPort用于查找android模拟器adb端口并自动连接,如腾讯手机助手,网易MuMu,BlueStacks,Nox App Player等。下载来自:https://gitee.com/tp7309/TTEmulatorPortFinder/repository/archive/master.zip
python emulator_port.py
复制adb.exe和你在工作室使用的android SDK中的文件夹中找到的所有文件,而不是将它传递到memu文件夹以替换旧的memu adb。而已。
首先,您应该找到特定仿真器VM的配置文件。例如Memu的配置vm的文件位于~C:\Program Files\Microvirt\MEmu\MemuHyperv VMs\MEMU_NAME\MEMU_NAME.memu
附近。其次,如第一个答案中所述,在部分中添加行:
<Forwarding name="ADB" proto="1" hostip="127.0.0.1" hostport="21743" guestip="10.0.2.15" guestport="5555"/>
取hostport
的价值,这里是21743
。
第三步是使用来自MEmuHyperv C:\Program Files\Microvirt\MEmuHyperv\adb.exe
的adb。其中一个可能的解决方案是打开cmd,然后cd到MEmuHyperv的文件夹并从那里开始工作。
由于MEmuHyperv现在是独立项目,您可以从这里下载http://www.memuplay.com/blog/2016/08/08/memuhyperv-tool/