Android 模拟器一直以速度奇慢无比著称,基本慢到不可用,对比 iOS 开发用的模拟器,天壤之别,但是今天介绍的 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 程序了:

主界面的 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 支持)的步骤(尽量参考英文原文):

  1. 下载 ARM Translation Installer v1.1
  2. 将下载回来的zip文件(不要解压) 直接拖放进去虚拟机里进行安装,完成后让虚拟机「关机」重开,不要直接关闭窗口
  3. 下载对应系统版本的 Google Apps,推荐下载 4.3,4.4可能有bug
  4. 同样将zip文件不要解压拖放到虚拟机进行安装,同样重启虚拟机
  5. 成功后 Google Play 市场和其他 Google App 都会出现了
  6. 这时你再安装微信或其他应用就不会再出现错误了

这样,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 进程,不需要上面那么复杂了。


最后跟大家说一下,不要在Android模拟器里面运行微信,因为存在封号危险:

两种模拟器都会被封,一般提示“被举报”或“严重违反相关协议”:
1、Virtualbox + Android x86、Genymotion和国内各种山寨版;
2、Bluestacks。


如有问题,可以加我私人微信号交流:wanghj29


更多相关文章

  1. [Android]Couldn't load testcpp: findLibrary ret...
  2. Eclipse环境搭建
  3. android eclipse基础开发环境搭建(最新安卓6.0 SDK)
  4. Android(安卓)Studio select deployment target 检测不到模拟器
  5. 《Android深度探索》(卷1)HAL与驱动开发读后感
  6. Failed to finalize session : INSTALL_FAILED_INTERNAL_ERROR解
  7. 用cmd 命令更改Android(安卓)的默认虚拟机的地址的方法
  8. Android(安卓)透明状态栏实践
  9. Ubuntu下安装Android反编译工具apktool和应用数字签名

随机推荐

  1. imageView的使用(进行原样的保持和按照比
  2. 转:善用Android预定义样式来为我们的布局
  3. Android自定义ProgressBar样式:渐变圆角水
  4. Android(安卓)NDK 调用C
  5. Android开发资源
  6. Android中RelativeLayout各个属性的含义
  7. Android之NDK开发
  8. textView 和 edittext 的一些属性
  9. RelativeLayout各个属性
  10. TextView 实现跑马灯效果