Android更新故事太糟糕有技术原因吗?


16

Android手机的一般发布版本与Android的稳定发行版本相比有很多滞后,这是否出于技术原因?

这适用于两款新手机,例如最近一次去手机店旅行时,一切都从4.0到4.2.1,无法看到KitKat。还有旧手机,我女友的iPhone 4在OTA上已更新到最新的操作系统,这是2010年7月的手机,而2010年7月的Android基本上是纸镇。

大概Android本身并不关心实际的硬件,因此会通过抽象与OS对话吗?我想这家手机制造商只是提供了特定硬件的驱动程序,因此,如果ABI保持稳定(我的电话没有增加新的硬件功能),我看不到推动OTA更新的问题。


无论如何,我们有forum.xda-developers.com/...
samnaction

硬件驱动程序是内核内部的,而ABI在内部是不稳定的。Android版本和内核版本之间也没有严格的对应关系;制造商可能会也可能不会在用户级升级中包含内核升级。如果这样做,则与现有驱动程序不存在二进制兼容性。但是,制造商的大部分负担仍将与适应新的用户空间有关。我不知道ABI的本质在这里是否特别重要。
goldilocks 2014年

您的最后一段对我来说,您对Android在幕后做了多少有一个误解。抽象和接口必须不断变化以支持新的硬件功能以及更好的软件表示。也许您可能会问有关此问题的后续问题。
丹·赫尔姆

除了现在更新的iphone像狗一样运行,无论如何都会迫使您升级硬件,而Android手机却运行得比以前好,并且根本不包含新功能。
JamesRyan

Answers:


18

参见HTC发布的这张图片。它以非常详细的形式描述了更新过程:

Android OS更新剖析

图像调整大小(单击以查看完整大小)


t0mm13b的编辑破坏了URL(user11153版本正确)。由于6个字符的最小编辑长度,我无法修复它。有人可以看看吗?正确的网址是i.stack.imgur.com/yMMX3.jpg(注意:不是yMMX3m.jpg,它是缩略图)
jmiserez 2014年

2
@jmiserez-我将小缩略图制作为全尺寸版本的链接,因为该图像很大,可以直接在答案IMO中显示。
Compro01 2014年

17

Android手机至少有2个手指在iPhone上没有的位置:硬件制造商和网络运营商。硬件制造商通常会考虑其驱动程序的商业机密,因此必须学习新版本的代码,然后改编其驱动程序。制造商还经常提供自定义的“皮肤”,这些皮肤必须针对新版本进行更新,有时甚至需要完全重新设计。然后,任何更改都必须由运营商批准。他们通常会添加自己的功能,必须对其进行更新/重新设计和测试。然后,他们必须为每部手机运行网络测试,以确保它不会使网络崩溃。尽管这些测试也必须在iPhone上进行,但它们可能是在新版本发布之前完成的,因为Apple可以在将代码发布给开发人员之前立即生产所有运行新版本的手机进行测试。


10

这是一个分为两部分的问题。第1部分询问为什么Android手机无法立即获得最新更新,而其他答案已充分回答了这一问题。第2部分询问为什么较旧的手机通常总是无法获得最新更新,并且尚未得到答复。

正如勒博所说,除谷歌外,还有其他公司利益相关者。Google仅创建新版本,并且除了直接创建的电话(如Nexus系列)外,对于其他电话是否以及何时放入电话也没有太多发言权。就像LeBeau所说的那样,所有其他利益相关者都必须先学习新版本,然后才能实施。这就是为什么手机以后会获得新版本的原因,以及为什么某些手机(例如Nexuses)会先于其他人获得版本的原因,因为Google已经学习了新版本。

至于第2部分,硬件制造商希望我们每两个月继续购买新手机,对吧?否则,如果我们继续使用旧手机,他们将如何保持所有面团运转?它们将处于与计算机公司相同的位置:具有足够用于任何目的的存储和RAM,为什么还要购买任何新硬件?答案是停止更新旧手机,因此,如果我们要最新的功能,就必须获得新的功能。Google可能没有做那么多事情,因为它已经在向您出售Android,所以为什么它需要向您出售手机,但它可能要卖点。就网络运营商而言,他们可能会帮助他们制定严格的规则,例如防止生根(否则将使保修无效)。这就是为什么,正如您所说的“ a July 2010 android is basically a paperweight”。

至于您对“主要是用户区”的改进的评论,我不知道所有这些如何工作,但是我敢肯定,它不是那么简单。升级可能是在软件中进行的,但并非所有软件都与用户交流。另外,硬件制造商在我们的手机上贴了“皮肤”,因此我们看不到内部的运作情况,而且当他们最终升级到最新版本时,很可能会在自己身上放一些新东西,以便HTC One手机可以Android 4.2与Android 4.2上的Samsung Galaxy SIV手机不同。HTC或Samsung可能都在4.3中添加了一些新功能,您甚至都没有注意到他们做了。然后,当我们说HTC One没有升级到4.3,但是HTC Two升级了(我正在做)时,您被迫让HTC Two获得4.3的某些新功能,以及HTC One所没有的4.2的某些功能。我不确定会发生这种情况,但这是正常的业务流程,所以我不会感到惊讶。


4

我认为Android设备更新如此之慢的原因有很多:

  1. 制造商将其自定义应用到新版本并确保一切正常的时间可能会很长。在过去一年左右的时间里,这种情况有所改善,例如Google向他们提供了Android PDK或Platform Development Kit,该平台应允许他们在公众听到几个月前甚至在听说下一版Android的情况下就可以进行自定义。

  2. 网络测试更新并应用其自定义项所花费的时间。

  3. 制造商几乎没有动力应用更新(尤其是在使用1年以上的旧设备上),因为他们试图将最新的设备出售给客户。

  4. 大多数客户不知道或不在乎其设备上的Android版本,为什么制造商会花时间和金钱将设备更新到最新版本。

您还可以查看这篇文章,其中有更多详细信息,包括Apple为什么能够“如此快”地发布更新(本质上是因为它们同时控制硬件和软件)。


3

除了Mpeti回答中令人难以置信的HTC信息图之外,其他制造商也纷纷表示,为什么他们的更新落后于Google的正式发布,以及为什么他们不发布旧型号的更新:

Sony MobileIce Cream Sandwich –从源代码发布到软件升级,以下摘录和标题:

但是,在我们推出这些软件升级之前,需要做很多工作,首先要使Ice Cream Sandwich正常工作并在所有索尼爱立信手机上变得稳定。我们称此为培养阶段。
其次,也许是最重要的一点,我们必须通过现代智能手机应使用的所有不同技术,网络和硬件,对新软件版本进行认证和批准。我们称此为认证和批准阶段。

  • 孕育阶段:让冰淇淋三明治在我们的手机上工作
  • 集成Android补丁
  • 使软件稳定并添加本地化
  • 认证和批准阶段:确保软件和硬件符合要求
  • 可能需要其他批准
  • 许多运营商还希望根据自己的要求定制软件

完成所有这些操作后,我们准备在全球范围内的运营商和消费者升级软件时推出各种版本的软件。

摩托罗拉曾经对此有不错的博客文章,但在最近几个月似乎删除了所有较旧的博客内容。但是,Wayback机器具有其存档副本:Archive.org:摩托罗拉Ice Cream Sandwich更新,以下选定的文本和标题:

从Google发布源代码后,它不会自动更新到您的设备。

每个新版本的Android都会与一个设备合作伙伴(称为“ Google体验设备”或GED,即新的Android版本的展示设备)一起启动。在操作系统开发期间,每次启动的GED合作伙伴都会与Google合作,以便该设备和新的Android版本可以同时进行协调启动。

GED设备发布后,其他Android社区将在其不久后公开访问Android源代码,这对于设备制造商和组件供应商而言是一个重要的里程碑,使我们能够开始将新版本集成到我们现有产品中的工作。

  • 合并新版本以适应不同的设备硬件架构和运营商定制
  • 稳定并“烘焙”结果以排除错误
  • 将升级提交给运营商以进行认证
  • 执行客户预发布
  • 发布升级

我们正计划升级尽可能多的手机。提供升级的能力取决于许多因素,包括硬件/设备功能,底层芯片组软件支持,ICS支持,以及随后支持Motorola增值软件的能力。

另外,PC Mag 为什么将手机升级到“冰淇淋三明治”需要这么长时间


2

当Google发布新版本的Android时,制造商将处理该构建。他们需要花费几个月的时间来确保更新可以利用手机的功能,因此他们可以安装所需的任何其他功能。

然后对载体重复该过程,这又需要几个月。


嗯,这就是这种情况的真实情况,但是如果改进主要是在“用户领域”,那么他们应该将硬件ABI保留在主要版本上,否则就不会简化此过程。按照这一速度,博客等。我们真的应该比较的iOS 7.1到Android 6.2
马特·弗里曼
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.