由于Android是基于Linux的(我的理解只是Linux之上的Java层),我想知道为什么Linux一般不运行Android应用程序。
为什么 Android 兼容层,无论是带有自己的桌面还是在 X 中,都不是现代 Linux 发行版的标准功能?
Android 基于 Linux内核。那,还有一个非常精简的BusyBox。Android 上不存在GNU/X11/Apache/Linux/TeX/Perl/Python/FreeCiv 的所有其余部分。问为什么 Linux 不模拟 Android 就像问为什么卡车不模拟飞机一样——毕竟它们都是底部有轮子的大型车辆。
大多数 Android 应用程序专门设计用于处理便携式设备的局限性:有限的计算资源、最重要的能耗、小屏幕、无外部输入设备。PC 类型的计算机通常有类似的应用程序,但与位置相关的应用程序除外,这些应用程序通常在移动设备之外没有用。
您可以在Google 提供的模拟器中运行 Android 应用程序。这是一个开发者工具,因为在PC风格的计算机上运行Android应用程序的主要用途是测试它们。
还有就是对与Android结合Linux系统的一些工作(如Ubuntu的为Android,但它已经放弃),主要运行在中间格式的设备(平板电脑),而且还对更小的设备(手机),以允许移动设备的用户运行来自更大格式世界的现有应用程序。由于这两个操作系统具有大部分兼容的内核,因此可以并行运行操作系统的其余部分(这比重写 Android 库以在 Linux/X11 上工作更容易,反之亦然)。然而,存在重大的技术困难。最大的可能是 GUI 在完全不同的软件上运行:Linux像其他 unix 变体一样使用X Window 系统,而 Android 有自己的堆栈.