Es gibt keinen fehlerfreien Code. Peter Norton sagte: "Es gibt einen Platz im Museum für den idealen Code: Alle Arten von Antiquitäten werden dort geschätzt." Und um Fehler zu beheben - gibt es Updates.
Ich möchte meine Sicht auf Updates aus Sicht des Android-Laufzeitentwicklers teilen. Ein Teil unseres großen Teams befindet sich in Russland. Ich bin am Java-Subsystem beteiligt, optimiere die virtuelle Maschine und behebe kleinere Probleme. Unser Verantwortungsbereich liegt alles über dem Kern und unter den Anwendungen. Wir wollen maximale Anwendungseffizienz erreichen, einschließlich Energieeffizienz. Dies ist eine Abteilung von Samsung, die für den Benutzer nicht sichtbar, aber sehr wichtig ist, da ein Fehler in dieser Ebene zu einem falschen Verhalten vieler Anwendungen führt.
Heute werden wir darüber sprechen, wie das Android-Systemupdate derzeit organisiert ist, wie die Meinungen der Anbieter diesbezüglich sind und welche neuen Trends in den kommenden Jahren zu beobachten sind. Sowie Tipps für Benutzer: wie oft aktualisiert werden muss, welche Patches installiert werden müssen und wie Entwickler Fehler schneller finden können.

Quelle -
xkcdSo aktualisieren Sie
Es gibt ein Problem, nämlich dass eine große Anzahl von Benutzern, wie sich herausstellte, ihr Telefon nach dem Kauf überhaupt nicht aktualisiert. Viele Fehler wären nicht aufgetreten, wenn Benutzer ihr Telefon rechtzeitig aktualisiert hätten. Vor einigen Jahren wurden Aktualisierungen nicht so oft durchgeführt. Es war notwendig, viele Häkchen zu setzen und regelmäßig auf die Schaltfläche "Aktualisieren" zu klicken. In modernen Android-Versionen ist jetzt alles ganz einfach. Aktivieren Sie beim Kauf eines Telefons einfach das Kontrollkästchen, und es wird aktualisiert.
Wenn Sie die Updates deaktivieren, erhalten wir keine Korrektur kritischer Fehler. Ja, einzelne Anwendungen können über Google Play aktualisiert werden, aber schwerwiegende Fehler, insbesondere in Bezug auf die Sicherheit, bleiben unkorrigiert, und einige Personen, die diese Schaltfläche nicht gedrückt haben oder nicht wissen, wie dies zu tun ist, beschweren sich weiterhin über Anwendungsfehler.
Außerdem ist der Moment sehr interessant, wie der Anbieter die Verwendung nur der neuesten Betriebssystem-Images beeinflussen kann. Zum Beispiel haben Samsung-Geräte in den letzten Jahren eine Funktion wie Rollback Prevention: Hardware-Sicherungen, die die am wenigsten akzeptable Version des Betriebssystems codieren. Ältere Versionen enthalten möglicherweise bekannte Sicherheitslücken, sodass Sie die alten Betriebssysteme nicht auf Ihr Telefon herunterladen können.
Unternehmensaktualisierungen
Der B2B-Markt hat seine eigenen Merkmale. Dort können Sie nur auf Empfehlung und unter strikter Anleitung der IT- und IS-Abteilungen aktualisieren. Unternehmen, Benutzer müssen sorgfältig auf die Empfehlungen von IT-Services und IT-Services hören, um Lösungen zur Risikominimierung zu verwenden. Zum Beispiel
Samsung Knox E-FOTA .

Dort ist die Funktionalität:
- Aktualisieren Sie selektiv eine bestimmte Liste von Geräten
- Steuern Sie die Liste der vom Unternehmen verwendeten Firmware
- Zeitpunkt für die Aktualisierung gemäß Arbeitsplan
Wie Updates in Zukunft aussehen werden
Jetzt gibt es einen Trend zur Modularisierung von Android. Langfristig entwickelt Google ein neues Fuchsia-Betriebssystem, das noch recht grob ist, aber die dort festgelegten Prinzipien bewegen sich bereits langsam in Android. Eines der Dinge ist die Modularisierung. Unter einem monolithischen Betriebssystem zeichnen sich einige Komponenten aus, die wie Anwendungen unabhängig voneinander über Google Play aktualisiert werden können. Google hat diesen Schritt unternommen, weil sie auch nicht mit der Situation zufrieden sind, in der Nutzer keine Updates veröffentlichen. Außerdem versuchen sie, die Fragmentierung ihrer Geräte zu verringern, damit die Komponente weniger an den Anbieter als vielmehr an Google gebunden ist. Der durchschnittliche Benutzer weiß nicht, was Android Runtime ist, und sagt: "Möchten Sie die neue Version von Android Runtime herunterladen?" sieht ein bisschen albern aus. Daher führt Google ein unsichtbares Update-System ein. Im Prinzip gibt es das schon lange, zum Beispiel für GMS (Google Mobile Services), dieses System basiert auf Plugins und dort werden die Plugins unsichtbar aktualisiert. Google implementiert das gleiche Prinzip für die grundlegenden Android-Komponenten. Das heißt, irgendwann werden wir ein Betriebssystem bekommen, das den Kernel selten aktualisiert, aber tatsächlich wird es in seinen Subsystemen häufig aktualisiert. Sie müssen das Telefon nicht einmal neu starten. Jetzt ist die Übergangszeit. Das monolithische System hat seine Vor- und Nachteile (wir erinnern uns an die Kontroverse zwischen Torvalds und Tanenbaum vor 27 Jahren), aber jetzt hat Google die Mikrokernel-Architektur und die unabhängige Aktualisierung von Komponenten übernommen.
Anwendungsentwickler wünschen sich ein stabiles System und weniger Fragmentierung. Dies ist jedoch nicht immer ein Plus für Telefonhersteller, da die Reduzierung der Fragmentierung zu einer geringeren Differenzierung führt, da wir in dieser Komponente keine neuen Optimierungen mehr implementieren können, wenn das Update von Google Play stammt. Dies ist die andere Seite der Medaille. Und der Benutzer wird bald von der Notwendigkeit befreit sein, darüber nachzudenken, ob er diese oder jene Komponente aktualisieren muss. In Zukunft wird Google das System so gestalten, dass Sie beim Kauf eines Telefons und bei der Verbindung mit Google Play automatisch alle Updates abonnieren.
Wie man Entwicklern hilft
Feedback von Benutzern ist sehr wichtig. Sie müssen das Kontrollkästchen aktivieren, um es automatisch zu senden. Einige Probleme können einfach mit einem kleinen Update des Betriebssystems gelöst werden. Basierend auf dem Feedback entscheidet Samsung, was genau behoben werden muss und mit welchen Problemen die Benutzer unzufrieden sind. Beispielsweise wird die Startzeit der Anwendung verfolgt - natürlich, wenn die Person zugestimmt hat, diese Daten zu senden und ein Häkchen zu setzen.
Zusammenfassend lässt sich also sagen, was wir als Entwickler vom Benutzer erwarten:
- Stellen Sie sicher, dass Sie Sicherheitsupdates installieren, und führen Sie dies sofort durch
- Senden Sie Feedback und melden Sie sich, dass etwas nicht funktioniert
- Wenn Sie ein Unternehmensbenutzer sind, befolgen Sie die von Ihrem Unternehmen festgelegten Regeln
Gepostet von: Ivan Maidansky,
Experte Software Engineer
AI Compiler Lab
Samsung Forschungszentrum in Russland