如何将从Genymotion下载的Android虚拟设备(ova文件)安装到未运行Genymotion的另一台计算机上的VirtualBox中

世界银行

从理论上讲,它应该起作用。

  • 从1号机器复制: %LOCALAPPDATA%\Genymobile\Genymotion\ova\xxx.ova
  • 在2号机器上安装到VirtualBox中: File -> Import Appliance..
  • 更改网络设置:
    • 更新“适配器1” => Bridged, Intel PRO/1000 MT Desktop
    • 禁用“适配器2”
  • 开始..

在实践中:

  • 早期版本的Android确实可以运行,但是比KitKat更新的版本只能在启动时挂起
  • 挂起的某些版本似乎正在运行init.d脚本,该脚本导致循环重复创建并杀死新进程

有谁知道如何使这些Android .ova虚拟设备完全独立于任何Genymotion安装而在VirtualBox中运行?

为了添加上下文,我的开发环境已经在VirtualBox来宾OS中。要运行Genymotion,需要从VirtualBox内部运行VirtualBox,这(a)是个坏主意,(b)无法正常工作。如果我可以从主机上的VirualBox运行Android映像,则可以轻松地adb connect <IP of virtualized Android device>:5555在开发环境中使用它来连接到虚拟化的Android设备并测试/部署本机应用程序。我根本不关心安装Genymotion。我只希望能够从各种各样的Android设备图像中进行选择。

帮助?

更新

这是一个屏幕快照,显示了在加载映像时挂起的启动屏幕: Custom Phone - 6.0.0 - API 23 - 768x1280

screenshot.png

埃利亚·勒兹米

对于高于4.2的设备,您想做的事情是不可能做到的。

这是一个简短的说明:当您以标准方式启动Genymotion设备时,Android操作系统是在VirtualBox VM中启动的,但是所有UI处理(使用OpenGL)都在VM外部完成,以使渲染管道使用计算机的GPU。使用这种硬件加速可以使Genymotion设备相当平稳和快速。

当您直接从VirtualBox启动Genymotion VM时,操作系统将启动,但是渲染不会通过硬件加速。从2.3到4.2,有一个后备解决方案:渲染将由CPU从VM内部计算。从4.3开始,软渲染不是一个好的解决方案,因为它会使操作系统减慢太多,无法接受,这就是我们禁用它且无法启用它的原因。

为了根据您的开发环境为您提供帮助,您可以尝试以下解决方案,虽然这是一个小技巧,但可以正常使用:

  • 您绝对应该直接使用Genymotion启动设备
  • 在启动设备之前,必须按照说明将设备更改为使用桥接网络连接。您可以直接使用Genymotion设备的设置或命令行工具来执行此操作,它比通过VBox软件浏览的速度更快。

这是命令行:

gmtool admin edit <device-name> --network-mode bridge --bridged-if <your-host-interface>

然后,您将遇到问题,因为将通过Genymotion设备的窗口(显示设备的窗口)完成ADB连接。您需要禁用它。可以使用以下命令行完成:

gmtool device -n <device-name> adbdisconnect

然后,您需要获取设备的本地IP。您可以通过运行以下命令来获取它:

adb shell "ifconfig | awk '/inet addr/{print substr(\$2,6)}' | awk 'NR==2'"

然后,您可以在Android开发环境来宾虚拟机内部使用ADB进行连接:

adb connect <device-ip>

重要说明:开发工具(尤其是Android Studio)有时会杀死ADB服务器。这将使您失去ADB连接,并且您将不得不重新连接。

另一个注意事项:命令行工具是付费功能的一部分,但是考虑到您的设置,您似乎不在“免费供个人使用”的情况下。

希望您能成功,并可能发现我们在Genymotion上实现的其他不错的功能,这些功能可以满足您的需求。

干杯;-)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章