[英]How to copy virtual devices downloaded by Genymotion to another machine?
[英]how to install Android virtual appliances (ova files) downloaded from Genymotion into VirtualBox on another machine that is not running Genymotion
从理论上讲,它应该起作用。
%LOCALAPPDATA%\\Genymobile\\Genymotion\\ova\\xxx.ova
File -> Import Appliance..
Bridged, Intel PRO/1000 MT Desktop
在实践中:
是否有人知道如何使这些Android .ova虚拟设备在VirtualBox中完全独立于任何Genymotion安装而运行?
为了添加上下文,我的开发环境已经在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
对于高于4.2的设备,您想做的事情是不可能做到的。
这是一个简短的说明:当您以标准方式启动Genymotion设备时,Android操作系统是在VirtualBox VM中启动的,但是所有UI处理(使用OpenGL)都在VM外部完成,以使渲染管道使用计算机的GPU。 使用这种硬件加速可以使Genymotion设备相当平稳和快速。
当您直接从VirtualBox启动Genymotion VM时,操作系统将启动,但是渲染不会通过硬件加速。 从2.3到4.2,有一个后备解决方案:渲染将由CPU从VM内部计算。 从4.3开始,软渲染并不是一个好的解决方案,因为它会使操作系统减慢太多,无法接受,这就是我们禁用它且无法启用它的原因。
为了根据您的开发环境为您提供帮助,您可以尝试以下解决方案,虽然这是一个小技巧,但可以正常使用:
这是命令行:
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上实现的其他不错的功能,这些功能可以满足您的需求。
干杯;-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.