【已解决】关于Mac上的Genymotion模拟器的几个问题

昨天同事说她的Android程序在客户那里使用有问题,我看了下觉得是跟安卓版本有关,于是想测试下,发现还没装模拟器。上网查了下,Android AVD在mac下的表现跟Windows上一样的糟糕,我就想到了用Windows时用的Genymotion模拟器。(不知为什么这个地址好像被墙了。)安装过程中遇到一些问题,这个时候就后悔当初怎么没写个博客记录下。。

简介及安装

Genymotion模拟器是个比较优秀的模拟器,依赖VirtualBox,跨平台,有免费版和收费版,收费版功能比免费的更加丰富。体验比Android AVD强得多。适合开发者。
我是通过brew cask来安装的

brew cask install genymotion

他会先安装依赖VirtualBox,有点慢,,然后要输入管理员密码,,然后才安装Genymotion,,更慢。。耐心等待吧。。

配置

主要是ADB的配置。我之前装了Android SDK,所以把adb改成Android SDK里面的比较统一一些。
【已解决】关于Mac上的Genymotion模拟器的几个问题_第1张图片

更改了配置之后就可以新增虚拟机了。
点击主界面的add,会弹出选择界面,但是要先登录,才能进行操作。

问题一:开启虚拟设备出现黑屏或停留在Android图标上无法进入

这种情况,可能是由VirtualBox的配置引起的。
打开VirtualBox,cmd + ,进入偏好设置:
【已解决】关于Mac上的Genymotion模拟器的几个问题_第2张图片
打开编辑这个配置:
【已解决】关于Mac上的Genymotion模拟器的几个问题_第3张图片
【已解决】关于Mac上的Genymotion模拟器的几个问题_第4张图片

上面都是默认的设置截图,这里要把主机虚拟网络中的IPv4地址改成在DHCP服务器中最大地址和最小地址之间的地址。

然后重启Genymotion就可以了。
参考:stackoverflow

问题二:无法安装Genymotion-ARM-Translation或apk

由于Genymotion安装虚拟机是在x86架构下编译的Android,而大部分Android手机都是基于arm架构的CPU的,所以它上面是不能直接运行正常的程序的,所以如果直接安装apk会报错。对此,官网上是这么回答的:
【已解决】关于Mac上的Genymotion模拟器的几个问题_第5张图片
大致意思就是如果你是这个app的开发者,那么请打包x86版本的app,,如果你不是,那么你可以在网上搜索支持包(翻译包)。。并且我们不建议你这么做,因为这样的程序不能稳定运行。。

我也是有点奇怪,,官方竟然没有提供这种支持包,,还要依赖于Internet。
但是在Windows上的版本也是这样的,当初我也是这么做的。
这个支持包有几个版本:

  1. Genymotion-ARM-Translation_v1.1.zip 这个版本的支持Android4.0以下,这个网上流传的比较多,可以随便搜。。
  2. ARM_Translation_Lollipop.zip 这个版本的支持Android5.0
  3. ARM_Translation_Marshmallow.zip,这个支持Android6.0,是我上传到csdn的。

但是比较奇怪的是我把这个东西拖拽进我的虚拟机之后,并不能开启转换的功能,提示我发生了一个错误,详情请看log。我去看了log,然而没有有用的信息。似乎根本没有记录这个错误。
Google到有人说这是因为Windows需要的文件和mac需要的文件是不同的,所以是我找错了。。然而最后发现并不是。。

解决方案是这样的,主要思路是将ARM_Translation_Marshmallow.zip文件拷贝到对应的目录下:
首先查看adb能否链接到虚拟机:

adb devices

会列出当前链接的机器和状态,如果状态是offline,那么可以重启adb试下:

adb kill-server
adb devices

应该可以恢复激活的状态,然后用adb将文件放入设备存储中:

adb push ~/Downloads/ARM_Translation_Marshmallow.zip /sdcard/Download/

然后进入adb shell,利用Genymotion提供的flash-archive.sh脚本将这个zip刷入机器:

adb shell
sh /system/bin/flash-archive.sh /sdcard/Download/ARM_Translation_Marshmallow.zip

然后重启,就OK了,可以安装app了!

问题三:Windows下管理员模式打开无法移入文件

这是我刚刚想到当初用这个东西的时候遇到的奇葩问题。
当时是在Windows下,打开Genymotion第一次没问题,后面打开VirtualBox就会崩溃,无法运行!经过摸索,发现用管理员权限打开就没问题,不会崩溃了!但是又出现了新的问题,用管理员权限打开之后无法拖入文件!!简直坑爹。。Google发现还有其他人也遇到了这样的问题,但是没找到原因和解决方案。。

不过有网友分析无法拖入文件应该是因为权限问题!然后按照这个思路,我用管理员权限打开了WinRAR。。在里面找到待拖入的文件,这回就能拖进去了!!!

想到这个,就把它写在这里了。

你可能感兴趣的:(工具)