首页 > 代码库 > Android模拟器Genymotion安装及使用教程详解

Android模拟器Genymotion安装及使用教程详解

尊重版权,未经授权不得转载
本文出自:http://blog.csdn.net/fengyuzhengfan/article/details/53366252

一直以来都有不少朋友问我关于Android模拟器的事情,比如:那个Android模拟比较快,如何安装使用之类。今天我整理出来这篇教程,供我的朋友以及各位小伙伴们查阅借鉴。

Android的模拟器很多,但最原汁原味的还数Android SDK中的模拟器,毕竟是Google的亲儿子。之前Android SDK中的模拟器运行速度一直是大家吐槽的对象,但自从支持了x86架构,运行速度可谓是提高了不少。但Android SDK中的模拟器对使用者的要求太高,光配置这一项就已将不少小白拒之门外。那现在就跟大家分享一款即适合小白又适合开发者使用的一款比较快的Android模拟器Genymotion。

技术分享

安装Genymotion

因为Genymotion的运行需要依赖VirtualBox,因此安装Genymotion之前需要先安装VirtualBox。

下载VirtualBox

前往https://www.virtualbox.org/wiki/Downloads,根据需要下载相应的VirtualBox,并安装。

技术分享

上图是VitualBox打开之后的界面,从上图可以看出已经有个一模拟器,这个模拟器是在Genymotion中创建的。

提示:启动上图中的模拟器正确方式是在Genymotion中启动,虽然,在VitualBox中也能将Genymotion创建的Android模拟器启动,但界面显示的很不友好,并且Genymotion的一些功能都无法使用。另外需要提醒大家的是,VitualBox安装好之后就不用管了,以后使用和配置模拟器都是在Genymotion中进行的。

下载Genymotion

下载Genymotion需要到Genymotion官网注册Genymotion,前往https://www.genymotion.com/,注册Genymotion并获取下载地址,将下载好的Genymotion安装即可。

技术分享

将安装好的Genymotion打开,便会看到上图的窗口,上图中已经有两个创建好的的模拟器,这是因为在写这篇教程前,我已经创建了两个模拟器,第一次安装Genymotion的小伙伴,看到的界面是没有创建模拟器的。

Genymotion的使用

Genymotion安装好之后,接下来就到了创建和使用Android模拟器时候了。想必小伙伴已经迫不及待的想创建一个模拟器看一下运行效果了吧。

创建Android模拟器

在Genymotion中创建一个Android模拟器可谓是简单的不能再简单了。

技术分享

如上图,单击Add按钮便会弹出一个右侧创建模拟器的窗口,在“Android Version”下拉框中选择你想创建的对应版本的模拟器,在“Device Model”下拉框中选择相应的设备,然后Genymotion会为你筛选出可用的设备,选择一个可用的设备然后按“Next”下一步便会弹出一个确认界面,确认界面会显示你创建的模拟器的一些配置,这些配置都是Genymotion默认为你创建好的,然后再次单击“Next”下一步,Genymotion便会将该模拟器对应的一些镜像下载下来并创建模拟器,创建完成便会看大如下界面:

技术分享

最后,回到Genymotion主界面,便会在模拟器列表中看到我们刚才创建的模拟器。

技术分享

选择对于的模拟器,单击“Start”启动模拟器。

技术分享

Genymotion模拟器安装第三方应用

在Genymotion模拟器中安装应用也是相当的简单,只需要将应用的Android包下载好,将xxx.apk文件拖到模拟器的界面上即可完成安装,但你在使用操作中可能会遇到很多应用无法安装的问题,如图:

INSTALL_FAIL_CPU_ABI_INCOMPATIBLE

技术分享

上图是Genymotion安装应用时的一个错误弹框,大致意思是说:Genymotion不能安装和运行ARM架构的APP。

提示:Genymotion模拟器,以及市场上大部分以快著称的Android模拟器基本上都是基于x86架构的,x86架构的模拟器是无法兼容ARM架构的APP的,但市场长大部分APP都是基于ARM架构,也就意味着x86模拟器无法兼容市场上大部分模拟器,这也是快的代价。

那有没有方法在x86模拟器上安装并运行ARM架构的APP呢?如果你用的是Android SDK中的模拟器,我会建议你直接创建一个ARM架构的模拟器即可,因为在Android SDK管理器中你可以下到ARM架构的Android镜像。

但在Genymotion中能够选择使用的镜像中都是基于x86,那么如果让Genymotion运行ARM架构的APP呢?

有心的小伙伴,可能从上图已经找到了答案,在上图报错的提示信息中Genymotion已经给到我们答案:安装一个ARM translation来让Genymotion支持ARM架构的APP。

ARM translation,是一个ARM转换包,也被翻译成ARM翻译器,它可以让x86架构的模拟器运行ARM架构的APP。

为了方便大家使用,我已将本教程中用到的ARM translation放到了网盘上,供大家下载使用。

Genymotion-ARM-Translation使用方法

  1. 将下载好的Genymotion-ARM-Translation.zip拖到Genymotion模拟器界面,进行安装。
  2. 安装好后,重启模拟器即可。

技术分享

安装过程中,会弹出上图,单击”OK”,确认即可。

技术分享
安装成功后会看到上图弹框,此时重启模拟器,便可以安装ARM架构的APP了。

将下载好APP拖到模拟器界面,便可以轻松安装。

技术分享

心得:至此为止,我们既可体验Genymotion的快,又可以安装使用ARM架构的APP了。

Genymotion启用adb(使用Genymotion模拟器开发调试Android应用)

这一部分是写给做开发的小伙们的,如果你不做开发使用Genymotion可以跳过这一部分。

默认情况下,在Genymotion模拟器启动的状态下,会导致Android adb无法使用。最明显的特征是,在AndroidStuio中运行一个项目的时候,无法找到已连接的Android设备,也看不到可用的虚拟设备。

如图:

技术分享

这是因为Genymotion在默认情况下,使用的是“Genymotion Android tools”,所以会导致上述问题,如图:

技术分享

最简单的解决办法是关闭Genymotion模拟器,便可以让Android adb恢复正常。

技术分享

那么,如何使用Genymotion模拟器进行开发调试Android项目呢?

使用Genymotion模拟器进行开发调试Android项目(Genymotion启用adb)

为了在开发调试Android应用的时候能够使用Genymotion模拟器,我们需要改变Genymotion模拟器adb配置,如图:

技术分享

在Genymotion主界面,单击Settings按钮,打开Genymotion的设置页面,将ADB tool改为“Use custom Android SDK tools”,同时将Android SDK路径指向你电脑上的Android SDK路径即可。配置好之后关闭该对话框,再次运行Android项目你会在已连接的项目中看到,Genymotion中的模拟器这一项如图:

技术分享

Genymotion安装及使用过程中遇到的问题及解决办法

下面这部分,是我在安装及使用Genymotion过程中遇到的一些问题及解决办法,整理出来分享给大家。

Unable to start the viutual device

技术分享

上述这个问题通常是由于Virtual Box安装不正确导致的。

解决办法

第一步:重装Virtual Box

卸载Virtual Box,前往https://www.virtualbox.org/wiki/Downloads,根据需要下载相应的VirtualBox,在次安装即可。

第二步:打开重装后的Virtual Box,在模拟器列表选择一个模拟器单击启动按钮启动它,如果能正常启动,说明这个问题已解决,关闭模拟器,在Genymotion中启动模拟器即可。

Error In supR3HardenedWinReSpawn

技术分享

如果在Virtual Box中启动模拟器出现上图的问题,通常是因为你所安装的Virtual Box版本和你的电脑不兼容导致的。

解决办法

卸载Virtual Box,前往https://www.virtualbox.org/wiki/Downloads下载一个稍低版本的Virtual Box重装便可解决这个问题。

最后

既然来了,留下个喜欢再走吧,鼓励我继续创作(^_^)∠※

如果喜欢我的文章,那就关注我的博客@ devio.org吧,让我们一起做朋友~~

戳这里,加关注哦:

微博:第一时间获取推送
个人博客:干货文章都在这里哦
GitHub:我的开源项目

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

    Android模拟器Genymotion安装及使用教程详解