Dass Android ein Fragmentierungs-Problem hat ist kein großes Geheimnis, und schon seit einiger Zeit unternimmt man einige Anstrengungen um dieses zu lösen – allerdings bisher mit nur sehr wenig Erfolg. In Android Nougat und der dazugehörigen Dokumentation für Smartphone-Hersteller sind nun Hinweise auf eine neue Technik mit der Bezeichnung Android Extensions aufgetaucht, mit der man sich etwas unabhängiger von den Herstellern machen könnte.
Da praktisch alle Smartphone-Hersteller die Oberflächen ihrer Android-Versionen anpassen und diese mit weiteren Funktionen versehen, benötigt der Rollout von Updates immer eine sehr lange Zeit und wird manchmal auch gar nicht erst in Angriff genommen. Durch das offene und freie Konzept von Android kann Google nur sehr wenig gegen diese Fragmentierung tun und ist auf die Mitarbeit der Hersteller und Netzbetreiber angewiesen. Und genau dies möchte man nun minimieren.
Lange nach dem Start von Android Nougat hat Google nun das Compatibility Definition Document veröffentlicht, in dem die Voraussetzungen für die Verwendungen von Android als Betriebssytem für die Hersteller festgelegt sind. In diesem ist erstmals die Rede von den „Android Extension“, in denen im Laufe der Zeit viele wichtige Teile von Android ausgelagert werden dürften. Über die Aktualisierung dieser Komponenten kann Google dann wieder selbst die Kontrolle übernehmen.
Android includes the support of extending the managed APIs while keeping the same API level version. Android device implementations MUST preload the AOSP implementation of both the shared library ExtShared and services ExtServices with versions higher than or equal to the minimum versions allowed per each API level. For example, Android 7.0 device implementations, running API level 24 MUST include at least version 1.
Der benannte Service befindet sich bereits auf den Pixel-Smartphones und nennt sich dort GoogleExtServices.apk und GoogleExtShared.apk, hat aber zum aktuellen Zeitpunkt noch keine Funktion. Zur Zeit hat die Datei lediglich eine Größe von 10 KB und dient daher nur als Platzhalter für später ausgelagerte Teile des Betriebssystems. Welche Teile genau ausgelagert werden sollten ist noch nicht bekannt.
Mit der Auslagerung bestimmter Teile des Betriebssystems löst man das Problem der Fragmentierung zwar noch immer nicht, sorgt aber dafür dass auch Nutzer mit älteren Versionen soweit wie möglich an neue Funktionen kommen bzw. das auch Sicherheitslücken gestopft werden. Im vergangenen Jahr ist Google die große Fragmentierung durch die Stagefright-Lücke auf die Füße gefallen und man konnte nichts gegen die Gefährdung von vielen Hunderten Millionen Nutzern unternehmen.
Mit den Play Services hat Google bereits vor einigen Jahren begonnen einige Komponenten und Teile aus der eigenen Infrastruktur auszulagern und diese allen Apps zur Verfügung zu stellen. Während sich die Play Services aber zu großen Teilen auf Google-Services beziehen, sollen die Android Extensions nun Teile des Betriebssystems auslagern. Das kann, wenn man das Konzept denn gut durchdacht hat, sehr gut funktionieren und die Nummer der Android-Version weiter in den Hintergrund rücken.
Da die Hersteller schon jetzt dazu verpflichtet werden diese Extensions zu unterstützen, kann man davon ausgehen dass es nicht mehr all zu lange dauert bis die ersten Bereiche ausgelagert werden. Spannend wird es dabei vor allem, um welche Bereiche es sich dabei handelt – denn natürlich geben die Hersteller dadurch die Kontrolle über diese Kategorien ab. Da einige ziemlich heftige Anpassung vornehmen, können sich die Komponenten also nicht auf die Oberfläche oder die verbaute Hardware beziehen.