“工欲善其事,必先利其器。” 使用Android模拟器开发和调试应用肯定比使用真机方便。但相比XCODEIOS模拟器,Android SDK自带的AVD实在不争气,不过一些第三方的模拟器却表现不俗!

12年我开始接触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 市场(后面提供解决方案)。另外增加了功能更丰富的付费版,个人可以继续使用免费版。

特点

  1. 超级流畅;

  2. 支持拖拽安装APK;

  3. 有多种Android系统版本和设备类型供选择;

  4. 能模拟手机的旋转、充电情况、GPS数据等物理数据;

如何使用

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

  1. 下载并安装 VirtualBox(或者下载带有VirtualBox的Genymotion);

  2. 注册 Genymotion 帐号并登录;

  3. 根据自己的系统下载并安装 Genymotion;

启动Genymotion

添加设备

启动设备

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

此外,Genymotion还提供了EclipseIntellij Idea(Android Studio)的插件,方便你从IDE启动模拟器,不过目前插件的功能也仅仅是用于启动模拟器。

当然Genymotion也不是万能的,它也有一些不足之处。

Genymotion无法启动

Window版本的GenymotionVirtualBox的链接经常出问题,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 支持)的步骤:

  1. 下载 ARM Translation Installer v1.1

  2. 下载对应系统的 GApps

  3. 安装第 1步下载到的文件(直接把 zip 文件拖进虚拟机,不要解压),安装完关闭虚拟机再打开;

  4. 安装第 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,但不足之处也是明显的:

  1. 流畅度不如Genymotion

  2. 没有多种Android系统以及设备型号供选择;

  3. 最致命的,Bluestacks是为了游戏而不是为了开发而设计的,所以无法竖屏,不适合开发 ;

最适合开发的Android模拟器Droid4X

正如官网所介绍的,海马玩模拟器(Droid4X)是迄今为止在性能,兼容性和操控体验方面最好的安卓模拟器。通过Droid4X,用户可以在PC上享受百万移动应用和游戏带来的全新体验。

海马玩模拟器在Android内核和图形渲染方面取得了突破性的成果,在同等PC硬件配置下,整体性能超出其他同类产品50%以上。海马玩模拟器美解决了ARM程序在X86架构下的运行问题,兼容市面现有99%以上的应用和游戏。

Droid4X模拟器是利用VirtualBox为基础,支持滑动按键,自带ROOT权限,启动速度快等等。相信很多朋友使用传统安卓模拟器都会遇到各种各样的问题导致使用体验差。而这款海马玩安卓模拟器(DROID4X)不仅支持双显卡的电脑同时系统内自带资源库,让你完完全全感受原生安卓的独特魅力。使用海马玩安卓模拟器(DROID4X)能让你轻轻松松使用电脑的安卓客户端。

特点

  1. 速度流畅,稍微不如Genymotion,但是比BlueStacks好很多;

  2. 支持横竖屏切换,支持摇动以及GPS数据模拟;

  3. 支持ARM Library,能够运行Google Play等Genymotion无法运行的APP;

  4. 支持手柄控制;

  5. 未来支持在IOS运行,也就是可以用IPHONE运行Android应用了,想想就怕;

如何使用

  1. 下载并安装 VirtualBox;

  2. 下载并安装Droid4X

运行模拟器

设置竖屏

运行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就跑起来了。

你可能感兴趣的文章

14 条评论
jjmyth · 2015年11月08日

能不能问下那个重大事件决策按钮要搜什么关键词

回复

jjmyth · 2015年11月08日

才能买到

回复

Kaede 作者 · 2015年11月09日

这个你要上微博搜索,之前有人做来卖的

回复

一波不是一波 · 2015年11月09日

genymotion 并不能运行微信

回复

Kaede 作者 · 2015年11月09日

没有ARM支持库,版权问题

回复

艾尼菲楠 · 2015年11月09日

这个开关居然要120 http://t.cn/RwrI2qv

回复

wenmin92 · 2015年11月14日

不能识别Droid4X,要怎样设置一下吗?

回复

Kaede 作者 · 2015年11月16日

直接用,就是在连接模拟器的时候可能会与真机有冲突,因为adb用的端口不一样,这里的用法后面我会挑时间补充

回复

wenmin92 · 2015年11月16日

哎,昨天死活连不上,我以为还要设置什么东西,今天收到你的回复又试了一下,竟然直接有了!!!你是不是趁我不在的时候,帮我弄好的?

回复

wenmin92 · 2015年11月16日

Genymotion 与 Droid4X 都使用 Virtual Box,貌似无法共存。安装了 Droid4X 后,自动更改了 Virtual Box 的设置,这样,Genymotion 就无法启动了。

回复

Kaede 作者 · 2015年11月16日

是吗,这两个我都有安装,但是没有类似的问题,可能是两个都有各自的VB?

回复

鄭邦振666 · 2016年03月25日

android studio如何关联海马玩啊?

回复

Kaede 作者 · 2016年03月26日

adb connect 127.0.0.1:xxx (xxx是你的模拟器的端口号)

回复

array_huang · 2016年06月20日

我想问一下,我用fiddler来抓包,如果是genymotion模拟器的话,代理服务器填10.0.3.2的确是OK的,但是如果是用其它模拟器(比如说Droid4X)的话,填这IP就上不了网,请问怎么查出其它模拟器要怎么填代理服务器IP呢

回复

载入中...
Kaede Kaede

1.5k 声望

发布于专栏

中二病也要开发ANDROID

Talk is cheap, let me show you the code. Hey guys, 这边是Kaede中二属性满载的Android开发讲座,在这里你不仅能得到技术上的愉♀悦,还能学到各种各样的姿♂势。 一発やらないか?アンドロイド最高!

158 人关注

SegmentFault

一起探索更多未知

下载 App