在 Linux 上运行 Android 的 7 个最佳平台

在不同的操作系统之间进行切换,这无疑是一项引人入胜的实验。技术爱好者们深知,任何操作系统都存在局限性,但当拥有最佳解决方案时,便能突破这些界限。

在不断进步的科技领域中,活跃着一群充满热情的探索者,他们不甘于现状。正如我们所知,技术狂热者持续追求新的挑战,探索未知领域,并拓展着可能性边界。

其中一项特别引人入胜的尝试,便是将两个强大的操作系统——Android和Linux——融合在一起。对于那些精通技术的人来说,在Linux系统上运行Android的愿望已成为一种令人着迷的追求。

为什么要在Linux上运行Android?

答案在于两个功能强大的系统的融合,它们各自在其领域中表现卓越。Android是谷歌开发的广泛使用的移动操作系统,已成为现代智能手机时代的重要组成部分。

另一方面,Linux作为一种高度灵活的开源操作系统,在服务器、嵌入式系统和计算设备领域占据主导地位。它因其稳定性、安全性和可定制性而备受推崇。以下是在Linux上运行Android的一些常见原因:

  • 模拟与应用程序测试
  • 探索开源的奥秘
  • 定制与调整
  • 资源优化与性能提升
  • 安全与隐私
  • 单一设备的多功能性
  • 学习与技能提升

接下来,我们将深入探讨如何在Linux上运行Android。

如何在Linux上运行Android?

显然,在Linux上运行Android应用程序的方法有很多。使用模拟器是目前最普遍的做法。但选择并不局限于模拟器,还有x86项目、虚拟机、脚本以及操作系统集成等多种方法。

然而,除了模拟器之外,大多数方法在技术上都具有一定挑战性。因此,当用户希望在Linux上运行Android应用程序时,模拟器通常是首选。

在Linux上运行Android的其他流行方法,与使用模拟器截然不同。例如,由Apache支持的Android x86项目,致力于将Android操作系统移植到Linux等开源平台。此外,一些兼容层(例如Shashlik)允许用户在Linux上直接运行Android,而无需任何模拟器软件。

模拟器方法相对简单,它就像在Linux系统上模拟Android操作系统一样。这通常通过专门开发的软件来完成。软件工程领域的许多从业者都倾向于使用这种方法。

接下来,让我们一起探索这些技术爱好者们所努力创造的卓越平台。每个平台都具有独特的功能和技术进步。

Anbox Cloud

Anbox Cloud是一个基于云的平台,旨在将Android应用程序无缝集成到各种云环境中。其高度可扩展的特性使其能够有效地处理工作负载,非常适合小型和企业级部署。与传统模拟器不同,Anbox Cloud在系统容器中运行Android,从而确保了更高的性能和更低的开销。

Anbox Cloud与AWS、OCI、Azure和GCP等主流云服务提供商广泛兼容,提供了在各种云服务器上运行的灵活性。此外,对于追求隐私和定制的用户,该平台还可以在私有云上使用,并提供超低的流媒体延迟。

Anbox Cloud具有出色的成本效益,使用户能够最大限度地利用资源。它具备完全自动化的功能,简化了操作任务,减少了人工干预。此外,该云平台还支持弹性扩展,使应用程序能够根据需求动态调整资源。

该平台配备了先进的流媒体堆栈,可以将移动应用程序和游戏流式传输到远程设备,从而实现低延迟和高帧率。它兼容Arm和x86架构,并提供完全托管的服务,让用户摆脱维护和基础设施管理的负担,并提供一流的技术支持,以确保及时提供帮助和解决问题。

Anbox支持安全交付本地移动应用程序,并整合了集中管理的应用程序安全性。它支持多种部署模式,例如BYOD(自带设备)、CYOD(选择您自己的设备)、COPE(公司所有,个人启用)和COBO(公司所有,仅限企业)。

Anbox Cloud凭借其自动化的应用程序测试功能,提供了显著的时间节省优势。用户可以模拟数千种不同的Android设备,模拟各种测试场景,并将测试无缝集成到其CI/CD(持续集成/持续交付)管道中。

Waydroid

Waydroid是一个创新且免费使用的基于容器的平台,旨在为Ubuntu等常规GNU/Linux系统带来完整的Android体验。作为一个功能强大的开源解决方案,它具有令人兴奋的功能,对于Linux上的Android爱好者来说,它是一个有吸引力的选择。

Waydroid将Android应用程序无缝集成到主机GNU/Linux环境中。当Android应用程序像Linux系统原生应用程序一样运行时,就会带来完整的应用程序集成体验。

此外,Waydroid支持多窗口模式,允许用户同时运行多个Android应用程序。完整的UI模式确保了全面的Android体验,包括所有熟悉的Android图形元素,例如通知面板、状态栏和应用程序抽屉。

通过利用Linux命名空间(user、pid、uts、net、mount、ipc),Waydroid实现了令人印象深刻的效率水平,确保在GNU/Linux主机上平稳运行。该平台支持各种CPU架构,包括ARM、ARM64、x86和x86_64。它使用LXC(Linux容器)和binder接口,为Android系统提供对硬件资源的直接访问,从而有助于其性能优化。

Waydroid将其GPU支持扩展到Intel和AMD GPU,使用户能够充分利用其图形硬件的功能。然而,对于Nvidia GPU和虚拟机,该平台依赖于软件渲染,这可能会带来性能上的影响。

Waydroid拥有一个充满活力且活跃的社区,他们为该平台的开发、改进和支持做出了贡献。

Genymotion

Genymotion是一个多功能平台,提供全面的功能,使其成为在云和桌面环境中运行Android虚拟设备的首选。它具有出色的兼容性,可确保无缝集成。

其可扩展性允许轻松扩展,以满足不断增长的需求和工作负载。Genymotion可以灵活地与多种设备配合使用,使用户能够模拟各种Android配置。

自动化是Genymotion的一个强大方面,它简化了重复性任务,并使用户能够使用Appium、Espresso和Detox等流行解决方案构建强大的测试框架。此外,该平台还可以与CircleCI、Bitrise和GitHub Actions等领先的持续集成解决方案顺利集成。

Genymotion的云和桌面双重选择为用户提供了无与伦比的灵活性。Genymotion SaaS(软件即服务)允许从Web浏览器交互式访问虚拟设备,并提供与ADB(Android调试桥)的安全连接。SaaS版本还提供与SDK和API的轻松集成,使其成为开发人员友好的选择。

Genymotion Desktop允许超过3000种虚拟Android设备配置,包括各种Android版本和硬件规格。该平台上的一系列硬件传感器可实现GPS、网络和多点触控交互。

其他功能包括电池模拟、旋转控制、摄像头和声音注入、GPS模拟以及网络和基带控制。对于全面的测试和开发环境,还有其他功能,例如磁盘I/O限制、用于调试的实时日志、应用程序的拖放侧载以及Android标识符管理。

此外,它还支持AWS、Azure、GCP、阿里云和Oracle云基础设施市场等主要云提供商。

Android x86

Android x86是一个引人注目的开源平台,提供了在常见x86平台上运行Android的完整解决方案。它最初是作为Android x86支持的补丁托管而开始的,现已发展成为成熟的Git服务器。

Android x86拥有一个活跃的开源社区,他们为该项目做出了重大贡献。该平台已在各种设备上进行了广泛测试,包括Microtech e-tab Pro (2018)、ASUS Eee PC/笔记本电脑、Viewsonic Viewpad 10、Dell Inspiron Mini Duo、Samsung Q1U、Viliv S5、Lenovo ThinkPad x61平板电脑等等,共享测试结果使更广泛的社区受益。

最新的稳定版本Android-x86 8.1-r6具有许多令人印象深刻的功能和改进。它利用启用了KMS(内核模式设置)的内核4.19,增强了图形性能和显示功能。

支持电源暂停和恢复(S3模式),允许设备有效地管理电源状态。其他值得注意的功能包括音频(ALSA)、蓝牙、G传感器、V4l2摄像头支持、外部显示器上的镜像模式、自动安装外部存储、外部键盘和鼠标滚轮兼容性。

即将推出的一些开发包括将Android 10(Q版本)移植到该平台、将内核升级到版本5.4,以及为Intel、Radeon、Nvidia、AMDGPU和Virgl GPU实现OpenGL ES硬件加速。

ARChon 运行时

ARChon运行时是一个专为Chrome设计的卓越平台,使开发人员能够使用Chrome浏览器在Windows、Linux和其他系统上运行Android应用程序。最新版本ARChon 2.1.0 Beta (ARC 41.4410.238.0)继续完善和改进在非Android平台上运行Android应用程序的体验。

该平台提供了一系列针对不同设备和配置定制的下载选项。用户可以为自己的设备选择合适的版本,例如Intel x86 Chrome 64位/Chrome OS 64位、32位/Chrome OS 32位或ARM(与基于ARM的Chromebook兼容)。

设置ARChon Runtime的过程非常简单。用户需要下载ARChon运行时,然后解压缩。之后,他们可以导航到“chrome://extensions”,启用“开发者模式”并加载运行时。

要测试该平台的功能,用户可以通过下载、解压、将其作为解压的扩展加载,然后按“启动”来试用示例应用程序。

为了将Android应用程序转换为与ARChon兼容,该平台提供了有用的工具来简化流程。这些工具包括chromeos-apk(CLI应用程序转换工具)、ARChon Packager(基于Android的转换工具)和twerk(基于Chrome的转换工具)。

Android Studio

Android Studio是Android官方提供的用于Android应用程序开发的集成开发环境(IDE)。虽然其主要目的是促进从头开始创建新的Android应用程序,但它也可用于各种修改和技术集成,包括在Linux上运行Android应用程序。

Android Studio的最新版本被称为“Giraffe”,是一个非常先进的平台,拥有专为Android开发人员量身定制的全面工具和功能。然而,它特别有吸引力的是它的跨平台支持,使其可用于Linux、Windows、ChromeOS和其他操作系统。

要使用Android Studio在Linux上运行Android应用程序,开发人员需要下载并安装与Linux兼容的IDE版本。安装后,Android Studio提供了一个开发人员友好的环境,用户可以直接在Linux系统上测试、开发、设计和配置Android应用程序。

作为Android认可的官方平台,Android Studio确保在Linux上运行Android应用程序时提供无缝且可靠的体验。其强大的开发工具、调试功能和集成模拟器使其成为跨多个平台的综合应用程序开发和测试解决方案。

Android Studio不仅是创建新Android应用程序的出色工具,而且它也是在Linux上运行Android应用程序的官方方式。通过提供与Linux兼容的版本,Android Studio使开发人员能够在构建、测试和微调其Android应用程序时利用Linux的功能。

Anbox

Anbox是2017年出现的一个著名项目,其雄心勃勃的目标是将Android操作系统引入任何基于Linux的桌面环境。它采用基于容器的方法,在常规GNU/Linux系统上运行完整的Android系统,使用户能够在Linux桌面上无缝访问Android应用程序。

尽管Anbox最初表现出了希望,但其发展在过去几年中陷入了停滞。截至2023年,可以公平地说,该项目不再由其原始创建者积极维护或开发。

尽管如此,Anbox的基本组件(包括内核模块)仍然可以在其GitHub存储库上找到,让有兴趣使用它的人可以访问它。尽管Anbox的维护已停止,但该项目的文档、用户手册、框架和清单仍然可以在GitHub上访问。

然而,值得注意的是,由于缺乏积极的开发和维护,使用Anbox可能会对与较新的Android版本的兼容性、潜在的安全漏洞以及现代Linux发行版的整体稳定性产生影响。

最后的话

在不断发展的科技世界中,在Linux上运行Android的追求激发了技术爱好者和爱好者的想象力。Android和Linux这两个强大的操作系统之间对无缝集成的追求,催生了满足不同需求和用例的各种平台。

我们深入研究了这些有远见的人所努力创造的卓越平台。每个平台都提供独特的特性、功能和限制,以满足特定的用例和偏好。

接下来,请查看Android和iOS模拟器,以加快您的应用程序开发和测试速度。