“工欲善其事,必先利其器。” 使用 Android 模拟器 开发和调试应用肯定比使用真机方便。但相比 XCODE 的 IOS 模拟器,Android SDK 自带的 AVD 实在不争气,不过一些第三方的模拟器却表现不俗!
10 年我开始接触 Android 开发时候,手头上甚至连一部低端的 Android 手机都没有,那时候用的是 Android SDK 自带的 AVD 模拟器,相信任何 Android 开发者都对这货深恶痛绝。一直以来,Android 开发都有以下的毛病:
- AVD 模拟器奇卡无比;
- 使用 USB 数据线链接手机经常无法设别设备,adb 容易抽风;
- Log 日志输出不全;
一直以来都想找一款能够顺畅运行 APP 的 Android 模拟器,以下就介绍几款比较给力的。
大名鼎鼎的 Genymotion
Genymotion 是一款顺畅和容易(fast and easy-to-use)使用的 Android 模拟器,可以用来运行和调试你的 APP。Genymotion 来自于 AndroVM 这个开源项目,基于 x86 和 VirtualBox,支持 OpenGL 加速,可以用于 Mac/Win/Linux。最近发布了新版,支持了 Android2.3/4.3,新增了拖拽安装 apk,移除了 Google 市场(后面提供解决方案)。另外增加了功能更丰富的 付费版,个人可以继续使用免费版。
特点
- 超级流畅;
- 支持拖拽安装 APK;
- 有多种 Android 系统版本和设备类型供选择;
- 能模拟手机的旋转、充电情况、GPS 数据等物理数据;
如何使用
简单介绍下如何获取和使用 Genymotion:
启动 Genymotion

添加设备

启动设备

免费版跟收费版功能的区别

此外,Genymotion 还提供了 Eclipse 和 Intellij Idea (Android Studio) 的插件,方便你从 IDE 启动模拟器,不过目前插件的功能也仅仅是用于启动模拟器。
当然 Genymotion 也不是万能的,它也有一些不足之处。
Genymotion 无法启动
Window 版本的 Genymotion 与 VirtualBox 的链接经常出问题,Genymotion 经常无法启动,并提示 VirtualBox 引擎出错,关于 Genymotion 安装以及启动过程中出现的问题,你可以参考 官方的帮助文档。
Genymotion 无法安装 Google Play
前面说过,新版 Genymotion 移除了 Google 市场。实际上,对 ARM library 的支持也一并移除了:
Both the “Google apps” and the “ARM library support” features are removed.
有的 APP 用到了 ARM 的 SO 库,安装这些 App 时,会报 「INSTALL_FAILED_CPU_ABI_INCOMPATIBLE」 错误,比如微信。xda 论坛 给出了一个解决方案,经验证确实好用。 安装 GApps(含 Google 市场)和 ARM Translation(提供 ARM 支持)的步骤:
- 下载 ARM Translation Installer v1.1;
- 下载对应系统的 GApps;
- 安装第 1 步下载到的文件(直接把 zip 文件拖进虚拟机,不要解压),安装完关闭虚拟机再打开;
- 安装第 2 步下载到的文件(步骤同上);
这样,Google Play 和其他 Google App 都有了,再安装微信等应用也不会报错了。(但是此方法并不是对所有的 APP 都管用, Genymotion 对使用了 ARM 的 SO 库的 APP 的支持确实不好,希望以后能改进)。
电脑上也可以玩 Android 游戏的 BlueStacks
Android 第一個第三方的模拟器就是 Bluestacks,网络上也有許多介绍文章。最大优势是占用资源小,安装包用量大约是 182 MB 左右,同样有 Windows / Mac 版、内置 Google Play 商店。
如何使用
首先,xp 用户需先安装 Windows Installer 4.5 和 .NET Framework 2.0 SP2,否则会提示出错,我们这里也提供了下载,如果电脑上已经安装过这些软件可以跳过此步。然后到官网 下载 最新的安装包并安装。
安装

启动模拟器,搜索应用并安装

运行 APP

不足之处
Bluestacks 相比 Genymotion,不容易出现无法启动的问题,也支持 ARM Library,但不足之处也是明显的:
- 流畅度不如
Genymotion; - 没有多种 Android 系统以及设备型号供选择;
- 最致命的,
Bluestacks是为了游戏而不是为了开发而设计的,所以无法竖屏,不适合开发 ;
最适合开发的 Android 模拟器 Droid4X
正如官网所介绍的,海马玩模拟器 (Droid4X) 是迄今为止在性能,兼容性和操控体验方面最好的安卓模拟器。通过 Droid4X,用户可以在 PC 上享受百万移动应用和游戏带来的全新体验。
海马玩模拟器在 Android 内核和图形渲染方面取得了突破性的成果,在同等 PC 硬件配置下,整体性能超出其他同类产品 50% 以上。海马玩模拟器美解决了 ARM 程序在 X86 架构下的运行问题,兼容市面现有 99% 以上的应用和游戏。Droid4X 模拟器是利用 VirtualBox 为基础,支持滑动按键,自带 ROOT 权限,启动速度快等等。相信很多朋友使用传统安卓模拟器都会遇到各种各样的问题导致使用体验差。而这款海马玩安卓模拟器 (DROID4X) 不仅支持双显卡的电脑同时系统内自带资源库,让你完完全全感受原生安卓的独特魅力。使用海马玩安卓模拟器 (DROID4X) 能让你轻轻松松使用电脑的安卓客户端。
特点
- 速度流畅,稍微不如
Genymotion,但是比BlueStacks好很多; - 支持横竖屏切换,支持摇动以及 GPS 数据模拟;
- 支持 ARM Library,能够运行 Google Play 等
Genymotion无法运行的 APP; - 支持手柄控制;
- 未来支持在 IOS 运行,也就是可以用 IPHONE 运行 Android 应用了,想想就怕;
如何使用
运行模拟器

设置竖屏

运行 APP

不足之处
Droid4X 可以说得上没什么可以挑剔的地方,非要说的话,就是流畅度稍微不如 Genymotion,UI 不如 Genymotion“接地气”,更像是为了游戏而设计的。此外,也不想 Genymotion 那样有众多 Android 系统版本可以选择,不过这些都是无关紧要的功能,毕竟我们不会用一个模拟器去作覆盖测试,是不?
总结
从使用经验上来看,Droid4X 确实是一款值得每个 Android 开发汪使用的模拟器,试想一下,每次完成 Coding,轻轻按一下 Shift+F10,或者使用 “重大事件决策按钮”,如下图。

轻轻一按就将 APP 部署到模拟器上,再也不用为了 AVD 模拟器的卡顿而烦恼,再也不用担心不小心碰了一下 USB 数据线而导致 APP 部署失败,再也不用担心 Logcat 没有打印日志,开发过程是不是变得淋漓尽致? 其实,我一开始在寻找 AVD 的替代品,当找到 Genymotion 的时候是很感动的,不过为此还推荐给不少朋友使用,但是用久了,发现不支持 ARM Libary 就觉得不妥了,后面 Genymotion 启动经常失败更是觉得坑爹。
这次,朋友推荐我使用 Droid4X,一开始我是拒绝的,不能说你使用我就使用是不,用过之后,才发现这货简直是加了特技的,duang~ 的那么一下,APP 就跑起来了。