我知道像 archon 这样的项目,并且存在各种模拟器,但奇怪的是我可以在普通的 Linux 内核下运行 Windows 程序,但不能运行 Android 程序。
答案1
答案2
严格来说,Linux 内核仅提供与其运行的硬件的直接接口。 Android 应用程序依赖于一整套额外的 Android 手机特定 API、程序、应用程序等。此外,Android 并不在通用 Linux 内核上运行,而是在 Google 高度定制的内核上运行,专门用于运行其操作系统。
即使技术上可以重现 Android 应用程序在另一个系统上运行所需的整个堆栈,它也会变得臃肿且效率极低。屏幕尺寸有限,手机中不存在“窗口系统”的概念一些硬件根本不存在,SIM卡,GPS等
有一个模拟器可以通过给应用程序提供他们需要的额外位来愚弄应用程序。但它使用您计算机上的本机 OpenJDK,因此它们可以正常运行。将其视为测试环境而不是模拟器。