1. 为什么要使用Genymotion?
使用Genymotion的目的可以归为3类:
- Android 软件开发调试
- Android 软件测试
- Android 软件的演示和体验
在进行Android软件的开发,调试和测试中,通常会使用模拟器和真实的物理设备。但因为真实的物理设备的成本和root权限的限制。在开发阶段,我们会经常使用虚拟器。而自带的虚拟器性能并不好,有时在显示上和真机还是会有差别。
在这种情况下,部署在成熟虚拟机(VirtualBox, VMware)上的Android系统可以有较好的性能提升。我开始试用过Android-x86但在安装和运行时都会有一些问题,如VMWare启动失败;Android-x86 on VirtualBox黑屏无法唤醒。如果肯花功夫,一些问题应该可以解决。可是关键就是时间。造一辆车的时候,我们不可能去先去修理一大堆的扳手。
2. 安装和使用
(访问官网资源前需要注册)
安装链接:
文档:
基本的安装过程是:
安装Genymotion。然后启动Genymotion,使用注册的帐号去下载需要的虚拟机image。在下载image的同时,可以安装集成开发环境的插件。这个步骤不是必需的。但如果你觉得集成在开发环境里面比较方便还是值得安装尝试下。我习惯在adb的命令行里面去连接、查看设备。在adb里面能看到一些信息和状态,还是要感觉踏实一些。
3. 常见问题
3.1 ADB 无法连接连接Android虚拟机
我在从宿主机连接Android虚拟机一直连不上,Google的很多资料,做了很多尝试,仍未解决。真是百撕不得其解啊。每次VirtualBox进去都提醒我安装新版本,就更新了一下。问题也随之解决了。VirtualBox目前的版本是4.2.16.
Andorid虚拟机启动起来后,验证是否能连接上的命令是: adb connect 192.168.56.101. 在不同虚拟机上需要运行Genymotion Configuration查看host-only的ip,用它来替换命令中的ip.
另外,AndroVM的虚拟机image也可以用Genymotion启动和连接调试。但会提醒版本不同,可以会出现兼容问题。
3.2 使用Genymotion的play启动虚拟机后长时间一直黑屏
如果此时你打开VirtualBox,在它的preview里面看见了待机画面,说明虚拟机已经启动完毕,只不过player得不到它的状态。所以化繁为间,毕竟Genymotion是依赖于VirtualBox工作,不如直接通过VirtualBox控制台启动虚拟机。只不过这样做,需要通过adb命令行做一些额外的工作:
连接虚机:adb.exe connect [虚机IP]进入root: adb.exe root再连接虚机:adb.exe connect [虚机IP] // 还没有探究为什么要再次连接,但必须这么做现在就可以调试了。