Genymotion vs Android 模拟器
创始人
2024-03-01 20:54:02
0

Android 模拟器是否改善到足以取代 Genymotion

一直以来有关于选择 android 模拟器或者 Genymotion 的争论,我看到很多讨论最后以赞成 Genymotion 而告终。我根据我周围最常见的情况收集了一些数据,基于此,我将连同 Genymotion 全面评估 android 模拟器。

结论剧透:配置正确时,Android 模拟器比 Genymotion 快。

使用带 Google API 的 x86(32位)镜像、3GB RAM、四核CPU。

  • 哈,很高兴我们知道了最终结果
  • 现在,让我们深入

免责声明:我已经测试了我看到的一般情况,即运行测试。所有的基准测试都是在 2015 年中期的 MacBook Pro 上完成的。无论何时我提及 Genymotion 指的都是 Genymotion Desktop。他们还有其他产品,如 Genymotion on Cloud&Genymotion on Demand,但这里没有考虑。我不是说 Genymotion 是不合适的,但运行测试比某些 Android 模拟器慢。

关于这个问题的一点背景,然后我们将转到具体内容上去。

过去:我有一些基准测试,继续下去。

很久以前,Android 模拟器是唯一的选择。但是它们太慢了,这是架构改变的原因。对于在 x86 机器上运行的 ARM 模拟器,你能期待什么?每个指令都必须从 ARM 转换为 x86 架构,这使得它的速度非常慢。

随之而来的是 Android 的 x86 镜像,随着它们摆脱了 ARM 到 x86 平台转化,速度更快了。现在,你可以在 x86 机器上运行 x86 Android 模拟器。

  • 问题解决了!!!
  • 没有!

Android 模拟器仍然比人们想要的慢。随后出现了 Genymotion,这是一个在 virtual box 中运行的 Android 虚拟机。与在 qemu 上运行的普通老式 android 模拟器相比,它相当稳定和快速。

我们来看看今天的情况。

我在持续集成的基础设施上和我的开发机器上使用 Genymotion。我手头的任务是摆脱持续集成基础设施和开发机器上使用 Genymotion。

  • 你问为什么?
  • 授权费钱。

在快速看了一下以后,这似乎是一个愚蠢的举动,因为 Android 模拟器的速度很慢而且有 bug,它们看起来适得其反,但是当你深入的时候,你会发现 Android 模拟器是优越的。

我们的情况是对它们进行集成测试(主要是 espresso)。我们的应用程序中只有 1100 多个测试,Genymotion 需要大约 23 分钟才能运行所有测试。

在 Genymotion 中我们面临的另一些问题是:

  • 有限的命令行工具(GMTool)。
  • 由于内存问题,它们需要定期重新启动。这是一个手动任务,想象在配有许多机器的持续集成基础设施上进行这些会怎样。

进入 Android 模拟器

首先是尝试在它给你这么多的选择中设置一个,这会让你会觉得你在赛百味餐厅一样。最大的问题是 x86 或 x86_64 以及是否有 Google API。

我用这些组合做了一些研究和基准测试,这是我们所想到的。

鼓声……

  • 比赛的获胜者是带 Google API 的 x86
  • 但是如何胜利的?为什么?

嗯,我会告诉你每一个问题。

x86_64 比 x86 慢

  • 你问慢多少。
  • 28.2% 多!!!

使用 Google API 的模拟器更加稳定,没有它们容易崩溃。

这使我们得出结论:最好的是带 Google API 的x86。

在我们抛弃 Genymotion 开始使用模拟器之前。有下面几点重要的细节。

  • 我使用的是带 Google API 的 Nexus 5 镜像。
  • 我注意到,给模拟器较少的内存会造成了很多 Google API 崩溃。所以为模拟器设定了 3GB 的 RAM。
  • 模拟器有四核。
  • HAXM 安装在主机上。

基准测试的时候到了

Linpack

Geekbench 4

从基准测试上你可以看到除了 Geekbench4,Android 模拟器都击败了 Genymotion,我感觉更像是virtual box 击败了 qemu。

欢呼模拟器之王

我们现在有更快的测试执行时间、更好的命令行工具。最新的 Android 模拟器创下的新的记录。更快的启动时间之类。

Goolgle 一直努力让

Android 模拟器变得更好

如果你没有在使用 Android 模拟器。我建议你重新试下,可以节省一些钱。

我尝试的另一个但是没有成功的方案是在 AWS 上运行 Android-x86 镜像。我能够在 vSphere ESXi Hypervisor 中运行它,但不能在 AWS 或任何其他云平台上运行它。如果有人知道原因,请在下面评论。

PS:VMWare 现在可以在 AWS 上使用,在 AWS 上使用 Android-x86 毕竟是有可能的。


作者简介:

嗨,我的名字是 Sumit Gupta。我是来自印度古尔冈的软件/应用/网页开发人员。我做这个是因为我喜欢技术,并且一直迷恋它。我已经工作了 3 年以上,但我还是有很多要学习。他们不是说如果你有知识,让别人点亮他们的蜡烛。

当在编译时,我阅读很多文章,或者听音乐。

如果你想联系,下面是我的社交信息和 email


via: https://www.plightofbyte.com/android/2017/09/03/genymotion-vs-android-emulator/

作者:Sumit Gupta 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

谷歌Gemini AI“睁...
当地时间12月9日,在The Android Show上,谷歌首次...
2025-12-09 20:46:38
谷歌PC Connect公...
IT之家 12 月 9 日消息,科技媒体 Android Auth...
2025-12-09 07:46:18
Google 眼镜杀回来了...
2012 年,Google 推出了「Project Glass」智...
2025-12-09 07:45:06
三星发布AI头显Galax...
10月22日,三星发布Galaxy XR,推出全新AI原生设备系列...
2025-10-22 12:16:13
Vibes AI Feed...
AIPress.com.cn报道 10月21日消息,据TC报道,最...
2025-10-21 09:22:20
或暗示 Android P...
IT之家 10 月 5 日消息,英特尔本月 3 日发布了 1.24...
2025-10-15 07:15:01

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...