Anbox - tuineo/tombolobo GitHub Wiki

https://anbox.io/

Anbox将Android放入容器中,每个Android应用程序都将与您的...

Anbox将Android操作系统放入一个容器中,对硬件访问进行抽象,并将核心系统服务集成到GNU / Linux系统中。 每个Android应用程序都会像其他任何本机应用程序一样与您的操作系统集成。

为了实现我们的目标,我们使用容器(LXC)等标准Linux技术将Android操作系统与主机分开。 任何Android版本都适用于这种方法,我们会努力跟上Android开源项目的最新可用版本。

https://alternativeto.net/software/anbox/

在任何GNU / Linux操作系统上运行Android应用程序。

它是如何工作的?

Anbox将Android操作系统放入一个容器中,对硬件访问进行抽象,并将核心系统服务集成到GNU / Linux系统中。 每个Android应用程序都会像其他任何本机应用程序一样与您的操作系统集成。

为了实现我们的目标,我们使用容器(LXC)等标准Linux技术将Android操作系统与主机分开。 任何Android版本都适用于这种方法,我们会努力跟上Android开源项目的最新可用版本。

特征

开源的

整个源代码都可以作为开放源代码获得,并根据Apache和GPLv3许可条款获得许可。

无限

当Anbox运行整个Android系统时,从概念上讲任何应用程序都可以运行。

安全

Anbox可以将Android应用放入密闭的盒子中,而无需直接访问硬件或数据。

表演者

在没有硬件虚拟化的情况下运行Android,并无缝桥接硬件加速功能。

集成

与主机操作系统紧密集成,以提供丰富的功能集。

收敛的

Anbox可以像Android一样跨各种外形尺寸进行缩放。 它可以在笔记本电脑和手机上使用。

开始吧!

只要您的系统支持快照,在常规Linux系统上安装Anbox既简单又简单(请参阅snapcraft.io了解更多信息)。

常问问题

是什么让Anbox与其他项目(如Shashlik或Genimobile)不同?

Shashlik或Genimobile等项目使用模拟器来运行Android环境。仿真器创建一个具有自己的内核等的完整仿真系统,而Anbox与主机操作系统在同一内核下运行Android系统。不需要像QEMU这样的仿真层。一切都直接在硬件上运行。这种方法还允许与主机操作系统更好地集成。

是否可以安装Google Play商店?

是的,这通常是可能的。但是,只要该设备未经认证且供应商未与Google签署协议,Google便不会允许任何人发送其应用程序。

Anbox项目对运送Google Play商店没有任何兴趣,我们也不允许这样做。我们稍后可能会为用户添加一种简便的方法,该方法可以轻松分发适用于Anbox运行时环境的Android应用程序。

如何将应用程序安装到Anbox运行时中?

除了使用Android调试桥(adb)之外,用户还没有简便的方法将应用程序安装到Anbox运行时中。在主机系统上安装adb时,可以安装以下应用程序:

$ adb安装路径/to/my-app.apk

之后,应将应用程序安装为Anbox运行时的一部分,并可以通过 主机系统 应用程序启动器 启动。

与Google将Android应用程序引入Chrome OS的努力有什么关系?

Google正在以与我们非常相似的方式在Chrome OS中为Android应用程序实现支持。两种方法都非常相似,因为它们都将Android放入了基于Linux名称空间的轻量级系统容器,并保留了一个小的桥梁以允许与主机系统进行通信。

与Google的实施相反,Anbox不允许直接访问硬件设备。例如,它将Open GL ES桥接到主机。在Chrome OS中,容器可以访问图形子系统的主机内核侧,以实现快速渲染。在我们的案例中,我们决定不这样做,以保持将Anbox移植到不同平台的简便方法。主机操作系统需要提供的只是与Open GL / Open GL ES兼容的驱动程序,以提供与图形子系统的正确集成。将来,其他的硬件设备(如WiFi或蓝牙)将通过容器和主机之间的专用API进行抽象。

我最喜欢的Android应用程序无法正常工作。我该怎么办?

当我们提供完整的Android系统时,通常所有应用程序都可以正常工作。但是,有一些例外情况:

如果您的应用程序依赖于特定的硬件功能(例如WiFi,蓝牙或电话),那么我们需要额外的工作来将它们与主机系统桥接。到目前为止,您唯一能做的就是确保当这些功能不可用时,应用程序的行为正确。

Anbox使用Android 7引入的自由格式模式,该模式允许使用多窗口系统。您的应用程序需要在自由格式模式下良好运行才能在Anbox中正常运行。您可以在Android开发者文档中找到更多详细信息。

Anbox无法在我的设备上启动。我做错了什么?

这很可能不是你的错。 Anbox仍处于起步阶段,尚未在众多不同系统上进行大量测试。如果没有为您启动Anbox,请按照此处的说明进行操作并提交错误报告,以便开发人员可以调查问题。

您说Anbox是收敛的。今天可以在手机上运行吗?

最初的概念验证是在基于Ubuntu Touch的设备上完成的。从那以后,Anbox有了长足的发展,使台式设备成为其主要开发重点。但是,最近的实验表明,在基于Ubuntu Touch的移动设备上,Anbox仍然运行良好(由于内核版本较旧,因此进行了一些调整和限制)。

我们知道,其他项目,例如UBports或LuneOS,都对将Anbox作为其发行版的一部分非常感兴趣。与这些社区的人们已经存在着密切的关系,但是尚无具体的计划,每个社区项目的主题。

为什么仅将Anbox分发为快照?

目前,Anbox仅作为快照分发,因为快照使我们开发人员的生活变得非常轻松。它们使我们可以快速便捷地打包,轻松分发给用户以及定期且快速地更新。 Flatpak将是另一种选择,但我们尚未对此进行调查,也不打算在不久的将来进行调查。但是,我们很高兴接受来自Anbox社区的贡献,以提供必要的更改以将Anbox也作为Flatpak软件包进行分发。

Anbox当前不做的一件事是对快照使用适当的限制。现在,仅当安装在所谓的snap的devmode(禁用任何限制)中时,它才可用。在接下来的几个月中,我们将在上游进行此工作,以使快照完全受到限制。

尽管禁用了快照限制,但Android系统仍通过使用Linux命名空间与主机系统保持独立。

Anbox是否需要为每个设备使用特定的Android映像?

不需要。Anbox不需要为每台设备都提供特定的Android映像,因为它是通过与设备无关的方式专门构建的。 每个架构(And64,armhf,arm64)都将为Anbox附带一个Android映像,并且不需要对设备进行特定的修改。

保持联系

准备开始使用Anbox并希望帮助开发它吗? 我们在此处提供了开发说明,您可以按照这些说明轻松上手。

您将在FreeNode网络上的#anbox IRC通道上或Anbox组的Telegram中找到所有开发人员。

如果您发现任何错误,请在我们的Github项目中报告它们。