为什么仍不能将Android安装为常规操作系统?


11

是否有任何技术或其他原因导致Android仍然是固件而不是无法轻松安装的OS?

为什么没有通用映像可以检测适当的驱动程序(内核模块),以某种标准方式对NAND进行分区并配置引导加载程序以引导更新的OS版本?

是什么阻止Google制作真正的(不太像固件的)操作系统(用于小型ARM,x86等设备的操作系统)?


1
值得注意的是,这并不是Android独有的,其他专注于ARM设备的操作系统(甚至是Microsoft的Windows 8 RT)不能仅安装在任何其他ARM机器上,而是像固件一样对待。
GAThrawn


Answers:


11

是什么让Google无法制作出真正的操作系统(适用于小型ARM,x86等设备的操作系统)?

这是一个“真实”的操作系统。

为什么没有通用图像可以检测适当的驱动程序

您如何检测不存在的驱动程序?有人必须写它们。与PC不同,电话硬件变化很大,主要是因为最终用户无法根据零件和尺寸限制来构造自己的电话。定制部件而不是可互换部件和特殊芯片组意味着需要非常特定的驱动程序,并且操作系统不能只提供默认的驱动程序。还要想象一下膨胀-拥有20 MB廉价应用程序的HTC手机的人没有空间来容纳不需要的驱动程序。

并配置引导加载程序以引导更新的操作系统版本

引导加载程序在设备之间也千差万别。您必须让所有制造商都参与其中才能使用单个制造商,制造商不太可能希望放弃在该领域的实力。


3
…但是他们可以使用非常模块化的内核进行分发,然后安装所需的东西。PC硬件也有所不同,从具有错误CMD640 IDE的奔腾产品到具有USB3的Core i7。他们可以使安装程序从设备上的现有OS读取VendorISs:DeviceID,然后仅在QEMu上编译内核,然后将其与新内容一起传输到设备。我想你是对的,即使一个人可能只使用menuconfig为特定设备制作足够好的内核,也很难通过某些脚本自动完成。
Alex Bolotov'3

1
@OleksandrBolotov:请记住,Linux内核还包含大量的开源驱动程序实现,这些实现是在运行构建时编译的。移动设备使用的绝大多数驱动程序都是专有的,因此即使您可以在足够长的时间内肯定可以从任何设备的源代码构建Android,也必须实现所有驱动程序。此外,如果Google自行执行,则可能会违反知识产权协议(我不确定,但肯定与他们与多家制造商签订的合同中存在此协议)。
eldarerathis 2012年

2
@OleksandrBolotov我当然同意他们可以采取一些措施来缓解这些问题,但是我们只能假设这些问题就是为什么他们没有做到;)。我认为进一步推测将超出我们的范围。
马修(Matthew)

2
是的,tl; dr这是驱动程序问题。必须有人做驱动程序。
布莱恩丹尼

从设计或本身的理想情况来看,内核将包含所有驱动程序,而Android操作系统是通用的,两者都可以单独刷新,也可以捆绑在一起作为库存固件(我们今天经常看到)一起打包。如果将内核与OS分开,我们是否可以将无内核的AOSP直接刷新到任何先刷新其制造商内核的设备上?也许这已经存在?IDK
亚伦吉联

3

为了提供您似乎想要的功能,必须在操​​作系统中添加一个附加的抽象层(或更坚固),以使其与硬件的耦合程度降低。在没有任何余地的平台上添加此资源将需要更多内存并消耗更多CPU周期。


2

Google持续对Oracle提起诉讼!

Google确实有将Android引入PC的计划-但这并不是您所想象的那样:Google希望将Android执行环境添加到Chrome。Android可以(通过大量工作)可以安装在PC上,但是将其引入Chrome意味着可以轻松地将其立即部署到所有计算机的25%(Chrome的市场份额为25%)。

如果您不相信我,请查看Google目前正在努力避免吸烟的电子邮件,它表示Google需要Java for Chrome。

我并不是说Google如果失去诉讼,将不会突然放弃Java-他们对Java的承诺太过严格了-但是他们至少想知道使用Java之前的术语他们采取的措施将大大增加对其的依赖性。


1
谷歌只是遭受了Android公司很久以前做出的错误决定。使用Java在新OS上进行应用程序开发真是太可怕了。Java仅仅是一个专有陷阱还不够明显,他们甚至不需要Java来为Dalvik创建非Java VM字节码。我猜他们在管理层中只有叛徒可以解释一切。
Alex Bolotov'3

1
如果要执行以下操作,那么将Android执行环境添加到Chrome中似乎并不难... bluestacks.com-在Windows桌面上运行的Android应用程序!
蟾蜍队长2012年

2
您是否有所有证据,还是只是在疯狂地猜测?
Dan Hulme

当然,自从我写了这个答案以来,发生了很多变化。最重要的是,帕克(Pachai)取代了鲁宾(Rubin)及其相关的Google重组。此后所有迹象似乎都发生了变化,并且IO13与IO12截然不同:显然,他们现在正在将Chrome本身推向移动平台,因此我不再相信它们会将Android引入Chrome。
汤姆(Tom)

1

除了Google之外,其他人也在努力将其移植到x86平台上。如果您签出Android-x86项目,尽管硬件设备数量有限,您仍可以看到各种可用的内部版本。我试图下载一些映像,并使其在我的计算机(Dell Latitude D520上基于Debian的CrunchBang Linux)上的VirtualBox中运行,但无法加载。您也许可以,但是。GL!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.