Gibt es einen technischen Grund, warum die Android-Update-Geschichte so schlecht ist?

16

Gibt es einen technischen Grund, warum Android-Telefone generell weit hinter der stabilen veröffentlichten Version von Android zurückbleiben?

Dies gilt für beide neuen Handys, zum Beispiel eine kürzliche Reise in den Telefonladen war alles 4.0 bis 4.2.1, KitKat konnte nicht gesehen werden. Und auch alte Handys, das iPhone 4 meiner Freundin hatte ein OTA-Update auf das neueste Betriebssystem, dies ist ein Telefon von Juli 2010, während ein Android von Juli 2010 im Grunde ein Briefbeschwerer ist.

Vermutlich kümmert sich Android selbst nicht um die eigentliche Hardware und kommuniziert so über Abstraktionen mit dem Betriebssystem? Ich schätze, dann stellt der Hersteller des Mobilteils nur die Treiber für die spezifische Hardware zur Verfügung. Daher kann ich das Problem beim Pushen von OTA-Updates nicht sehen, wenn die ABI stabil bleibt (auf meinem Telefon werden keine neuen Hardwarefunktionen erweitert).

Mâtt Frëëman
quelle
Wie auch
Samnaction
Hardwaretreiber sind kernelintern und die ABI ist intern nicht stabil. Auch zwischen der Android-Version und der Kernel-Version besteht keine strikte Übereinstimmung. Hersteller können Kernel-Upgrades mit Userland-Upgrades einschließen oder nicht. In diesem Fall besteht keine Binärkompatibilität mit Ihren vorhandenen Treibern. Der größte Teil der Belastung für den Hersteller wird jedoch weiterhin in der Anpassung an den neuen Anwenderbereich liegen - ich sehe hier keine besondere Bedeutung für die Art des ABI.
Goldlöckchen
Ihr letzter Absatz legt mir nahe, dass Sie ein Missverständnis darüber haben, wie viel Android hinter den Kulissen tut. Abstraktionen und Schnittstellen müssen sich ständig ändern, um neue Hardwarefunktionen sowie bessere Softwaredarstellungen zu unterstützen. Vielleicht könnten Sie eine Folgefrage dazu stellen.
Dan Hulme
Abgesehen davon, dass das iPhone, das aktualisiert wurde, jetzt wie ein Hund funktioniert und Sie sowieso dazu zwingt, die Hardware zu aktualisieren, während das Android-Telefon so gut läuft wie je zuvor und einfach keine neuen Funktionen enthält.
James Ryan

Antworten:

18

Siehe dieses von HTC veröffentlichte Bild. Es beschreibt den Update-Prozess in einer sehr detaillierten Form:

Die Anatomie eines Android-Betriebssystem-Updates

Bildgröße geändert (zum Vergrößern anklicken)

MPeti
quelle
Die Bearbeitung durch t0mm13b hat die URL beschädigt (die user11153-Version war korrekt). Aufgrund der Bearbeitungslänge von mindestens 6 Zeichen kann ich das Problem nicht beheben. Kann jemand einen Blick darauf werfen? Die richtige URL lautet i.stack.imgur.com/yMMX3.jpg (Anmerkung: nicht yMMX3m.jpg, das ist das Vorschaubild)
jmiserez
2
@jmiserez - Ich habe das kleine Vorschaubild zu einem Link zur Vollversion gemacht, da dieses Bild ziemlich groß ist, um direkt in der Antwort IMO angezeigt zu werden.
Compro01
17

Android-Handys haben mindestens zwei Finger im Topf, die iPhones nicht haben: den Hardwarehersteller und den Netzbetreiber. Die Hardwarehersteller betrachten ihre Treiber häufig als Betriebsgeheimnisse und müssen daher den neuen Versionscode lernen und dann ihre Treiber anpassen. Hersteller stellen auch häufig benutzerdefinierte "Skins" zur Verfügung, die für die neue Version aktualisiert und manchmal komplett neu gestaltet werden müssen. Änderungen müssen dann von den Spediteuren genehmigt werden. Sie fügen häufig ihre eigenen Funktionen hinzu, die aktualisiert / neu gestaltet und getestet werden müssen. Anschließend müssen sie Netzwerktests für jedes Telefon durchführen, um sicherzustellen, dass das Netzwerk nicht abstürzt. Obwohl diese Tests auch für iPhones durchgeführt werden müssen, werden sie wahrscheinlich vor der Veröffentlichung der neuen Version durchgeführt, da Apple alle Telefone, auf denen die neue Version ausgeführt wird, zum Testen auf einmal produzieren kann, bevor der Code auch für Entwickler freigegeben wird.

LeBeau
quelle
10

Dies ist eine zweiteilige Frage. Teil 1 fragt, warum Android-Handys nicht sofort das neueste Update erhalten, und wurde von den anderen Antworten angemessen beantwortet. Teil 2 fragt, warum ältere Handys oft nie das neueste Update erhalten und noch nicht beantwortet wurden.

Wie LeBeau sagt, gibt es neben Google noch andere Unternehmensbeteiligte. Google erstellt nur die neuen Versionen, und neben den Telefonen, die es direkt erstellt, wie die Nexus-Linie, wird nicht viel darüber ausgesagt, ob und wann die anderen sie in die Telefone stecken. Auch wie LeBeau sagt, müssen all diese anderen Stakeholder die neue Version lernen, bevor sie sie implementieren können. Dies ist der Grund, warum die Telefone später neue Versionen erhalten und warum bestimmte Telefone, wie die Nexuses, die Versionen vor allen anderen erhalten, da Google die neue Version bereits erlernt hat.

Was Teil 2 angeht, möchten die Hardware-Hersteller, dass wir weiterhin alle paar Monate neue Telefone kaufen, oder? Wie können sie sonst den ganzen Teig rollen lassen, wenn wir weiterhin unsere alten Telefone benutzen? Sie wären in der gleichen Position wie die Computerfirmen: Wenn Speicher und RAM für jeden Zweck ausreichen, warum sollten Sie dann neue Hardware kaufen? Die Antwort ist, die Aktualisierung alter Telefone zu beenden. Wenn wir also die neuesten Funktionen nutzen möchten, müssen wir eine neue erwerben. Google macht das wahrscheinlich nicht so oft, da es Sie bereits mit Android verkauft. Warum muss es Sie also mit Handys verkaufen, aber es macht es wahrscheinlich ein bisschen. Die Netzbetreiber ihrerseits helfen wahrscheinlich mit ihren drakonischen Regeln wie dem Verhindern von Rooting (oder Sie machen Ihre Garantie ungültig). Deshalb, wie Sie sagen, " a July 2010 android is basically a paperweight".

Ich weiß nicht, wie das alles funktioniert, aber ich bin mir sicher, dass es nicht so einfach ist. Die Upgrades befinden sich möglicherweise in Software, aber nicht alle Software kommuniziert mit dem Benutzer. Außerdem haben die Hardwarehersteller "Skins" auf unsere Telefone gelegt, so dass wir das Innenleben nicht sehen und es ist wahrscheinlich, dass sie, wenn sie endlich auf die neueste Version upgraden, einige neue Dinge in sich aufnehmen, so dass ein HTC One-Telefon an Android 4.2 unterscheidet sich von einem Samsung Galaxy SIV-Handy unter Android 4.2. Wahrscheinlich bringt HTC oder Samsung einige neue Funktionen für 4.3 heraus, und Sie bemerken nicht einmal, dass sie es getan haben. Nehmen wir an, das HTC One aktualisiert nicht auf 4.3, aber das HTC Two (ich mache das nach), dann müssen Sie das HTC Two holen, um (einige) der neuen Funktionen von 4.3 zu erhalten. sowie einige Funktionen von 4.2, die Sie mit HTC One nicht bekommen haben. Ich bin mir nicht sicher, ob dies passiert, aber es ist ein normaler Geschäftsablauf, daher wäre ich nicht überrascht.

Trysis
quelle
4

Ich denke, es gibt eine Reihe von Gründen, warum Updates für Android-Geräte so langsam sind:

  1. Die Zeit, die ein Hersteller benötigt, um seine Anpassungen auf die neue Version anzuwenden und sicherzustellen, dass alles in Ordnung ist, kann recht lang sein. Dies hat sich im letzten Jahr verbessert, da Google ihnen ein Android-PDK oder das Platform Development Kit zur Verfügung stellt, mit dem sie mehrere Monate vor der Veröffentlichung an ihren Anpassungen arbeiten können, selbst wenn sie von der nächsten Android-Version erfahren.

  2. Die Zeit, die Netzwerke benötigen, um das Update zu testen und ihre Anpassungen anzuwenden.

  3. Hersteller haben wenig Anreiz, das Update anzuwenden (insbesondere bei Geräten, die älter als 1 Jahr sind), da sie versuchen, ihre neuesten Geräte an Kunden zu verkaufen.

  4. Die meisten Kunden wissen oder kümmern sich nicht darum, welche Android-Version auf ihrem Gerät installiert ist. Warum sollte der Hersteller Zeit und Geld aufwenden, um das Gerät auf die neueste Version zu aktualisieren?

Sie können sich auch diesen Artikel ansehen, der etwas ausführlicher beschrieben wird, einschließlich der Frage, warum Apple Updates "so viel schneller" veröffentlichen kann (im Wesentlichen, weil sie sowohl die Hardware als auch die Software steuern).

bmdixon
quelle
3

Zusätzlich zu der unglaublich langen HTC-Infografik in Mpetis Antwort haben andere Hersteller erklärt, warum ihre Updates hinter den offiziellen Google-Releases zurückbleiben und warum sie keine Updates für ältere Modelle veröffentlichen:

Sony Mobile : Ice Cream Sandwich - von der Veröffentlichung des Quellcodes bis zum Software-Upgrade , ausgewählte Auszüge und Überschriften:

Bevor wir diese Software-Upgrades einführen können, müssen Sie jedoch eine Reihe von Aktivitäten ausführen, damit Ice Cream Sandwich auf allen Handys von Sony Ericsson funktioniert und stabil ist. Wir nennen dies die Aufziehphase.
Zweitens, und vielleicht am wichtigsten, müssen wir die neue Softwareversion mit all den verschiedenen Technologien, Netzwerken und Hardware zertifizieren und genehmigen, mit denen ein modernes Smartphone arbeiten sollte. Wir nennen dies die Zertifizierungs- und Genehmigungsphase.

  • Die Phase des Aufbringens: Ice Cream Sandwich für die Arbeit an unseren Handys
  • Android-Patches einbinden
  • Stabilisierung der Software und Hinzufügen von Lokalisierung
  • Die Zertifizierungs- und Genehmigungsphase: Sicherstellen, dass Software und Hardware kompatibel sind
  • Zusätzliche Zulassungen sind möglicherweise erforderlich
  • Viele Betreiber möchten die Software auch an ihre Anforderungen anpassen

Wenn all dies erledigt ist, können wir die Softwareversionen als Software-Upgrades für Betreiber und Verbraucher auf der ganzen Welt bereitstellen.

Motorola hatte zu diesem Thema einen guten Blogeintrag, schien jedoch in den letzten Monaten alle älteren Bloginhalte gelöscht zu haben. Die Wayback-Maschine hat jedoch eine archivierte Kopie davon: Archive.org: Motorola Update auf Ice Cream Sandwich , ausgewählter Text und Überschriften unten:

Sobald der Quellcode von Google veröffentlicht wurde, wird er nicht automatisch auf Ihrem Gerät aktualisiert.

Jede neue Version von Android wird mit einem Gerätepartner gestartet, dem so genannten "Google Experience Device" oder GED, dem Vorzeigegerät für eine neue Android-Version. Der GED-Partner für jeden Start arbeitet während der Entwicklung des Betriebssystems mit Google zusammen, sodass das Gerät und die neue Android-Version für einen koordinierten gleichzeitigen Start bereit sind.

Sobald dieses GED-Gerät ausgeliefert wird, erhält der Rest der Android-Community Zugriff auf den kurz darauf veröffentlichten Android-Quellcode - ein wichtiger Meilenstein für Gerätehersteller und Komponentenlieferanten, der es uns ermöglicht, die neue Version in unsere bestehenden Produkte zu integrieren .

  • Führen Sie die neue Version für verschiedene Gerätehardwarearchitekturen und Netzbetreiberanpassungen zusammen und passen Sie sie an
  • Stabilisieren und "backen" Sie das Ergebnis, um Fehler zu vertreiben
  • Senden Sie das Upgrade zur Zertifizierung an die Netzbetreiber
  • Führen Sie eine Kunden-Vorabversion durch
  • Geben Sie das Upgrade frei

Wir planen, so viele unserer Telefone wie möglich zu aktualisieren. Die Möglichkeit, das Upgrade anzubieten, hängt von einer Reihe von Faktoren ab, einschließlich der Hardware- / Gerätefunktionen, der Unterstützung der zugrunde liegenden Chipsetsoftware, der ICS-Unterstützung und der Möglichkeit, die Motorola-Mehrwertsoftware zu unterstützen.

Auch PC Mag, warum es so lange dauern wird, Handys auf "Ice Cream Sandwich" umzustellen

GAThrawn
quelle
2

Wenn Google eine neue Version von Android veröffentlicht, wird der Build vom Hersteller verarbeitet. Es dauert mehrere Monate, bis sichergestellt ist, dass das Update die Funktionen des Telefons nutzen kann, und dass sie alle gewünschten zusätzlichen Funktionen installieren können.

Der Vorgang wird dann für den Spediteur wiederholt, was wiederum mehrere Monate dauert.

Yos233
quelle
Hmm .. das ist die Realität der Situation, denke ich, aber wenn die Verbesserungen hauptsächlich "Benutzerland" sind, dann behalten sie die Hardware-ABI auf Hauptversionen bei, sollte dieser Prozess nicht rationalisierter sein. Bei diesem Tempo, Blogs usw. sollten wir iOS 7.1 wirklich mit Android 6.2 vergleichen
Mâtt Frëëman