Genymotion:超赞的安卓虚拟机

1882次阅读  |  发布于5年以前

Android 模拟器一直以速度奇慢无比著称,基本慢到不可用。本文介绍我一直在用的 Genymotion,速度不亚于真机。而且功能齐全,使用简单。

Genymotion 来自于 AndroVM 这个开源项目,基于 x86 和 VirtualBox,支持 OpenGL 加速,可以用于 Mac/Win/Linux。最近发布了新版,支持了 Android2.3/4.3,新增了拖拽安装 apk,移除了 Google 市场(后面提供解决方案)。另外增加了功能更丰富的付费版,个人可以继续使用免费版。

如何使用

简单介绍下如何获取和使用 Genymotion:

  1. 下载并安装 VirtualBox;
  2. 注册 Genymotion 帐号并登录;
  3. 根据自己的系统下载并安装 Genymotion,及 Eclipse 插件(可选);

然后就可以启动 Genymotion 程序了:

genymotion2

主界面的 Settings 按钮,可以用来设置 VirtualBox 及 ADB 路径等信息。点击 Add 按钮,用 Genymotion 帐号登录后,会显示可用的 Android 虚拟设备:

genymotion0

找到想要的机型和版本,装好之后,回到主界面点 Play 按钮启动它:

genymotion3

要安装应用,直接把 apk 文件拖进虚拟机就可以了:

genymotion1

键盘 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 支持)的步骤:

  1. 下载 ARM Translation Installer v1.1(密码:a9cb);
  2. 下载对应系统的 GApps:4.4(密码:d885)、4.3(密码:2b8c)、4.2(密码:0c5a)、4.1(密码:67b4);
  3. 安装第 1 步下载到的文件(直接把 zip 文件拖进虚拟机,不要解压),安装完关闭虚拟机再打开;
  4. 安装第 2 步下载到的文件(步骤同上);

这样,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 专门干这事,其实就一行:


kill -9  $(ps -ef|grep VirtualBox|awk '$0 !~/grep/ {print $2}' |tr -s '\n' '
')

总的说来,除了与 Parallels Desktop 兼容性问题这点小不爽之外,Genymotion 各方便都令人满意,强烈推荐。

update: 升级到 2.0.2 之后,直接关闭 Genymotion 可以同时退出所有 VirtualBox 进程,不需要上面那么复杂了。

专题「开发工具」的其他文章 »

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8