如何重启或关闭Genymotion设备?

7
我正在遵循一个在Genymotion虚拟机中安装Google Play的指南。该指南要求运行adb reboot。我该怎么做?
评论区有人问了同样的问题,有人回复说:先输入adb connect 192.168.56.101,然后再输入adb -e reboot。但是输入第一个命令时出现错误:
adb server is out of date.  killing...
cannot bind 'tcp:5037'
ADB server didn't ACK
* failed to start daemon *
error: 

在模拟器上长按电源按钮,会在Android内部弹出关闭设备的选项,但是当我尝试通过这种方式(通过Android)关闭设备时,模拟器会卡在“正在关闭…”上,无法关闭设备。
Linux Mint 17;Genymotion 2.3.1;Android 4.4.4

为什么不直接在Genymotion虚拟机中使用重启按钮呢? - turtle
@turtle 我看不到重启按钮,但有一个电源按钮,但它并不能按照我已经解释的那样正常工作。无论如何,问题现在已经解决了。 - gom
@gom,你具体是怎么解决这个问题的? - Kriti
@Kriti 我已经勾选了一个答案并在其下留言。虽然时间有点久了,但我认为简单地关闭窗口也可能会起作用。 - gom
3个回答

9

只需前往Genymotion安装目录:

在我的电脑上:C:\Program Files\Genymobile\Genymotion\tools

打开命令提示符并导航到此目录:

(cd C:\Program Files\Genymobile\Genymotion\tools)

C:\Program Files\Genymobile\Genymotion\tools>

然后输入以下命令:

adb reboot


5
如果你已经在 Linux 发行版中安装了 adb,那么你的 PATH 可能指向该位置。这个 adb 版本可能为 1.0.31(或更早)。
Genymotion 自带一个 adbtools/ 目录下,如果你使用最新版本 Genymotion(目前是 2.3.1),它的版本号就是 1.0.32。除非你在设置中更改了它,Genymotion 将启动桥与该副本一起运行。
由于 adb 是以客户端-服务器模式运行的,因此客户端版本应与守护进程版本匹配。在你的情况下,它们不匹配,这就是你收到“adb server is out of date. killing...”消息的原因。如果守护进程被杀死或死亡,Genymotion 启动器会自动立即重新启动 adb(使用自己的副本),这就是为什么你的客户端无法启动绑定到端口 5037 的新进程的原因。
解决方法是确保你在命令行上调用的 adb 版本与 Genymotion 启动 VMs 时作为守护进程启动的版本相匹配。最简单的方法是使用 Genymotion 的 tools/ 目录下的 adb 二进制文件。
请注意,如果你已更改 Genymotion 的默认设置,使用自定义 SDK 工具而非自己的工具,则需要使用与所指向的 SDK 中包含的版本相匹配的 adb 客户端。据我所知,KitKat(4.4.4)和更早版本的 SDK 包含 adb 版本为 1.0.31,而 Lollipop(5.0)SDK 则使用 1.0.32。

它起作用了,非常感谢!根据您的答案,我使用Genymotion的tools/目录中的adb二进制文件进行了reboot,并且它起作用了。我已经通过apt-get install android-tools-adb在我的Linux上安装了adb,是的,您说得对,adb version是1.0.31,而tools/中的adb是1.0.32。 - gom
我对这一点一无所知,麻烦您逐步指导我解决这个问题。 - hprakash

3

我在使用adb时遇到了问题,但是发现如果长按电源按钮,将会弹出电源菜单并执行完全关闭,而不是快照和挂起。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接