Android 模拟器一直以速度奇慢无比著称,基本慢到不可用,对比 iOS 开发用的模拟器,天壤之别,但是今天介绍的 Android模拟器 Genymotion,速度不亚于真机。
Genymotion 来自于 AndroVM 这个开源项目,基于 x86 和 VirtualBox,支持 OpenGL 加速,可以用于 Mac/Win/Linux
。最近发布了新版,支持了 Android2.3/4.3,新增了拖拽安装 apk,移除了 Google 市场(后面提供解决方案)。另外增加了功能更丰富的付费版,个人可以继续使用免费版。
如何使用
简单介绍下如何获取和使用 Genymotion:
然后就可以启动 Genymotion 程序了:
主界面的 Settings 按钮,可以用来设置 VirtualBox 及 ADB 路径等信息。点击 Add 按钮,用 Genymotion 帐号登录后,会显示可用的 Android 虚拟设备:
找到想要的机型和版本,装好之后,回到主界面点 Play 按钮启动它,要安装应用,直接把 apk 文件拖进虚拟机就可以了:
键盘 esc
是虚拟机的后退键,f1
是 menu 键。可以看到虽然 Genymotion 底层使用 VirtualBox,但是整个过程中,VirtualBox 一直是幕后英雄,不会露面。
另外,如果安装了 Genymotion 的 Eclipse 插件,以后就可以在 Eclipse 里管理和使用虚拟机了。如果在 Genymotion 里指定了 ADB 路径,调试 Android 应用也很方便。
Genymotion 虚拟机运行于本机,所以本机拥有的内网权限,虚拟机也有。
Google 市场 和 ARM 库
前面说过,新版 Genymotion 移除了 Google 市场。实际上,对 ARM library 的支持也一并移除了:
Both the “Google apps” and the “ARM library support” features are removed.
这样安装某些 App 时,会报「INSTALL_FAILED_CPU_ABI_INCOMPATIBLE」错误,比如微信。xda 论坛给出了一个解决方案,经验证确实好用。
安装 GApps(含 Google 市场)和 ARM Translation(提供 ARM 支持)的步骤(尽量参考英文原文):
-
将下载回来的zip文件(不要解压) 直接拖放进去虚拟机里进行安装,完成后让虚拟机「关机」重开,不要直接关闭窗口
-
下载对应系统版本的 Google Apps,推荐下载 4.3,4.4可能有bug
-
同样将zip文件不要解压拖放到虚拟机进行安装,同样重启虚拟机
-
成功后 Google Play 市场和其他 Google App 都会出现了
-
这时你再安装微信或其他应用就不会再出现错误了
这样,Google Play 和其他 Google App 都有了;再安装微信等应用也不会报错了。
使用 Mac 的同学请注意
Genymotion 依赖的 Virtualbox 虚拟机,和 Mac 系统下另一个著名的虚拟机软件「Parallels Desktop」没办法同时使用。Parallels Desktop 官方说无解:
No workaround is available. Please try not to use Parallels Desktop and Virtual Box at the same time
所以每次使用 Genymotion,必须先关掉 Parallels Desktop;同样,要使用 Parallels Desktop,也得关闭 Genymotion。
问题是:关闭 Genymotion,Virtualbox 某些进程并不会自动退出。所以我们要手动结束 Virtualbox 所有进程,才能正常运行 Parallels Desktop。我写了一个「Kill Virtualbox」的 Alfred Workflow 专门干这事,其实就一行:
update: 升级到 2.0.2 之后,直接关闭 Genymotion 可以同时退出所有 VirtualBox 进程,不需要上面那么复杂了。
最后跟大家说一下,不要在Android模拟器里面运行微信,因为存在封号危险:
两种模拟器都会被封,一般提示“被举报”或“严重违反相关协议”:
1、Virtualbox + Android x86、Genymotion和国内各种山寨版;
2、Bluestacks。