“工欲善其事,必先利其器。” 使用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. 【译】Unity3D Shader 新手教程(5/6) —— Bumped Diffuse Shader

    本文为翻译,附上原文链接. 转载请注明出处--polobymulberry-博客园. 动机 如果你满足以下条件,我建议你阅读这篇教程: 你想学习片段着色器(Fragment Shader). 你想实现 ...

  2. SQL Server-聚焦LEFT JOIN...IS NULL AND NOT EXISTS性能分析(十七)

    前言 本节我们来分析LEFT JOIN和NOT EXISTS,简短的内容,深入的理解,Always to review the basics. LEFT JOIN...IS NULL和NOT EXIS ...

  3. UWP开发之Mvvmlight实践五:SuspensionManager中断挂起以及复原处理

    最近比较忙有一段时间没有更新了,再接再厉继续分享. 案例下载:https://github.com/NewBLife/UWP/tree/master/SuspendSample 先我们看看App在生命 ...

  4. 读书笔记--SQL必知必会--常用MySQL(MariaDB)命令

    DBMS信息 显示DBMS的版本 select version(); 显示DBMS状态 status; 显示DBMS资源状态 show status; 显示DBMS支持的权限 show privile ...

  5. TCP初始化序列号ISN

    TCP初始化序列号ISN TCP初始化序列号不能设置为一个固定值,因为这样容易被攻击者猜出后续序列号,从而遭到攻击. RFC1948中提出了一个较好的初始化序列号ISN随机生成算法. ISN = M ...

  6. [C1] 实现 C1FlexGrid 撤销还原功能

    采用设计模式中的"命令模式"实现 C1FlexGrid 的撤销还原功能,那就先从命令模式简单介绍开始吧. 一  命令模式 命令模式属于对象的行为型模式,将一个请求封装为一个对象,从 ...

  7. MongoDB安装使用

    标签: MongoDB 参考链接:Windows上安装MongoDB教程 1. 官方下载 MongoDB提供了可用于32位和64位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoD ...

  8. js正则表达式整理

    一.数字类 数字:^[0-9]*$ 正数.负数.和小数:^(\-|\+)?\d+(\.\d+)?$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9 ...

  9. C#开发微信门户及应用(4)--关注用户列表及详细信息管理

    在上个月的对C#开发微信门户及应用做了介绍,写过了几篇的随笔进行分享,由于时间关系,间隔了一段时间没有继续写这个系列的博客了,并不是对这个方面停止了研究,而是继续深入探索这方面的技术,为了更好的应用起 ...

  10. spider RPC过滤器

    spider支持在请求执行前或完成后进行特殊处理,比如安全性检查.敏感字段混淆等等.为此,spider提供了BeforeFilter和AfterFilter.其执行位置如下图所示: 流水线插件配置在s ...