为什么我不能在通用 Linux 上运行 Android 应用程序?

为什么我不能在通用 Linux 上运行 Android 应用程序?

我知道像 archon 这样的项目,并且存在各种模拟器,但奇怪的是我可以在普通的 Linux 内核下运行 Windows 程序,但不能运行 Android 程序。

答案1

有许多 Android 独有的内核功能。你可以看到一个列表这里。最大的似乎是活页夹。为了让 Android“发行版”在 Linux 下运行,您的内核首先需要实现其中的一些功能。

实际上与 Linux 桌面集成更加困难。

图形子系统与 X11 不兼容,因此无法将 Android 应用程序绘制到标准 Linux 桌面。

答案2

严格来说,Linux 内核仅提供与其运行的硬件的直接接口。 Android 应用程序依赖于一整套额外的 Android 手机特定 API、程序、应用程序等。此外,Android 并不在通用 Linux 内核上运行,而是在 Google 高度定制的内核上运行,专门用于运行其操作系统。

即使技术上可以重现 Android 应用程序在另一个系统上运行所需的整个堆栈,它也会变得臃肿且效率极低。屏幕尺寸有限,手机中不存在“窗口系统”的概念一些硬件根本不存在,SIM卡,GPS等

有一个模拟器可以通过给应用程序提供他们需要的额外位来愚弄应用程序。但它使用您计算机上的本机 OpenJDK,因此它们可以正常运行。将其视为测试环境而不是模拟器。

相关内容