“工欲善其事,必先利其器。” 使用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就跑起来了。

第三方Android 模拟器流畅速度快,适合开发人员的更多相关文章

  1. Android模拟器设置竖屏

    使用Android模拟器測试自己开发的程序时,有时候会发现屏幕为横屏显示,查看效果非常不方便. 这里记录了一种禁止横屏的方法. 在文件  Mainfest.xml 中,在须要禁止横屏的 activit ...

  2. HBuilder搭建Android模拟器

    HBuilder搭建Android模拟器  //来源:  https://www.cnblogs.com/bjxingch/articles/6657938.html  1.下载夜神Android模拟 ...

  3. Genymotion - 强大好用高性能的 Android 模拟器 (在电脑流畅运行APK安卓软件游戏的利器)

    随着 Android 系统的应用和游戏越来越丰富,甚至有些比起Windows.Mac上的软件更加好用好玩,因此很多人都希望能在电脑上也能玩到安卓的游戏或APP. 我们曾推荐过 BlueStacks,而 ...

  4. 如何成为一个偷懒又高效的Android开发人员

    我敢肯定你对这个标题肯定心存疑惑,但事实就是如此,这个标题完全适合Android开发人员.据我所知, Android程序员不情愿写 findViewById().点击事件监听等重复率较高的代码.那我们 ...

  5. Andy - 又一款速度流畅的免费安卓 Android 模拟器 (支持手机无线控制电脑模拟器)

    随着 Genymotion.BlueStacks 等电脑上的 Android 模拟器流行起来之后,似乎很多人都发现在电脑上运行使用安卓APP软件.畅玩手机游戏确实很有乐趣. 今天我们又发现了一款全新免 ...

  6. Android IOS WebRTC 音视频开发总结(六十)-- 您为什么招不到适合的音视频人才

    本文主要介绍音视频行业招聘现状,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com 有过音视频人才招聘经验的应该都深有 ...

  7. 50个Android开发人员必备UI效果源码[转载]

    50个Android开发人员必备UI效果源码[转载] http://blog.csdn.net/qq1059458376/article/details/8145497 Android 仿微信之主页面 ...

  8. Android开发工具综述,开发人员必备工具

    安卓开发工具汇总.开发者必备.安卓开发过程中须要用到各种工具,作为一名安卓开发者,有木有感到亚历山大,那么多工具! 今天给大家汇总了一下安卓开发工具,安卓开发者必备利器. 1.Draw 9-Patch ...

  9. 写给Android App开发人员看的Android底层知识(1)

    这个系列的文章一共8篇,我酝酿了很多年,参考了很多资源,查看了很多源码,直到今天把它写出来,也是战战兢兢,生怕什么地方写错了,贻笑大方. (一)引言 早在我还是Android菜鸟的时候,有很多技术我都 ...

随机推荐

  1. 窥探Vue.js 2.0

    title: 窥探Vue.js2.0 date: 2016-09-27 10:22:34 tags: vue category: 技术总结 --- 窥探Vue.js2.0 令人兴奋的Vue.js 2. ...

  2. 细说Promise

    一.前言 JavaScript是单线程的,固,一次只能执行一个任务,当有一个任务耗时很长时,后面的任务就必须等待.那么,有什么办法,可以解决这类问题呢?(抛开WebWorker不谈),那就是让代码异步 ...

  3. mongodb安装&简单使用

    转自Mac下使用brew安装mongodb,按着步骤已成功安装. brew常用命令 1.更新brew本身 brew update 2.使用brew安装软件 1 brew install soft_na ...

  4. 剖析 HTTP 协议

    HTTP 概述 HTTP 是什么? HTTP(HyperText Transfer Protocol,超文本传输协议)是WWW (World Wide Web)实现数据通信的基石. HTTP是由IET ...

  5. CSS3 值得称赞新特性

    Html5和CSS3相信大家现在都已不陌生了吧,但CSS3哪些新特性值得我们去称赞呢? 首先还是让大家来看几张效果图,相信大家看到这些效果图,肯定会说这些效果只用CSS是如何实现的呢? 1.3D正方形 ...

  6. .NET 版本区别,以及与 Windows 的关系

    老是记不住各 Windows 版本中的 .NET 版本号,下面汇总一下: .NET Framework各版本汇总以及之间的关系 Mailbag: What version of the .NET Fr ...

  7. .Net语言 APP开发平台——Smobiler学习日志:快速实现手机上的图片上传功能

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的"S ...

  8. Ionic2系列——在Ionic2中使用ECharts

    在群里看到有人问怎么在Ionic2中集成ECharts来显示图表.当时答应说写个blog,简单写下步骤. 在TypeScript中如果要使用第三方库,必须要有d.ts,也就是定义文件,没有这个文件的话 ...

  9. 类型“System.Data.Linq.DataContext”在未被引用的程序集中定义。必须添加对程序集“System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。

    解决方法:添加System.Data.Linq.dll引用 http://www.cnblogs.com/m84641693/archive/2010/07/26/1785100.html http: ...

  10. [Winform] DataGridView 中 DataGridViewComboBox 的可编辑

    在 DataGridView 中设置的 DataGridViewComboBox,默认是不可编辑的,即使将其列属性 DisplayStyle 设置成 ComboBox 或其他,也无法编辑: 故作如下处 ...