Zum Hauptinhalt Zur Navigation

AOSP-Kooperation: Android-Diversität bereitet Herstellern viele Probleme

Viele Hersteller pflegen eigene Android-Forks sowie Hardwareabstraktionen und tragen wenig oder gar nicht zu Googles AOSP bei. Das erschwert adäquate Reaktionen auf Lücken wie Stagefright. Einige Entwickler diskutieren deshalb Möglichkeiten zum Lösen dieser Probleme.
/ Sebastian Grüner
21 Kommentare News folgen (öffnet im neuen Fenster)
Die Hersteller müssen an allen Teilen des Android-Systems zusammenarbeiten. (Bild: AOSP/CC-BY 2.5)
Die Hersteller müssen an allen Teilen des Android-Systems zusammenarbeiten. Bild: AOSP/CC-BY 2.5

Auf der Linux Plumbers Conference (LPC) für Android diskutierten Entwickler von Google und den Geräteherstellern unter der Leitung des Linaro-Angestellten John Stultz die offensichtlichen Probleme bei der Handhabung des Codes durch die Hersteller selbst. Laut der bei Lwn.net veröffentlichten Zusammenfassung(öffnet im neuen Fenster) streben viele eine bessere Zusammenarbeit untereinander an, was aber schwierig werden könnte.

Bisher unterhielten die meisten Hersteller meist für jedes einzelne Gerät einen eigenen Fork des Android Open Source Projects (AOSP), was auch für Linaro gelte. Dieser Code werde zusätzlich um Funktionen und Hardwareabstraktionen (HAL) erweitertet, die oft proprietär seien und eine Anpassung der Basis-Frameworks erforderten.

Schnelle Aktualisierungen, vor allem um auch auf schwerwiegende Lücken wie Stagefright reagieren zu können, sind wegen dieser großen Diversität nur schwer möglich. Zumindest ein kleines Team hat auf der LPC Hindernisse und Lösungen dazu besprochen.

Hausgemachte Probleme

Dass diese Forks überhaupt entstehen, wird auch auf die Arbeitsweise des AOSP zurückgeführt. Dieses sei nicht für Beiträge durch Dritte gedacht. Schließlich wird gerätespezifischer Code im AOSP von Google auf seine eigene Nexus-Reihe beschränkt. Ebenso fehle eine ausführliche Dokumentation für die richtige Umsetzung von HALs.

Ohne die Schuld nur auf Google abzuwälzen, habe die Community mögliche Vorgehen vorgeschlagen, um diese schwierige Organisationsstruktur zu überwinden. So könnten die Hersteller ein eigenes Repository für gemeinsamen Code außerhalb von AOSP pflegen. Besonders aussichtsreich sei dies wohl aber nicht.

Einheitlichkeit und Community-Beiträge

Von verschiedenen Herstellern geteilt werden könnte zumindest aber die Konfigurationen des Build-Systems. Ähnlich wie im Standard-Linux-Kernel könnte damit aus einer großen Quellcode-Sammlung der Binärcode für unterschiedliche Geräte erzeugt werden.

Ebenso erhoffe sich Google mehr Beiträge für das AOSP durch Dritte. Diese scheiterten aber oft an dem Review-Prozess. Überwunden werden könnte das durch eine externe Gruppe vertrauenswürdiger Entwickler, die die Überprüfungen vornimmt. Letztlich könnte dies dauerhaft zu externen Maintainern für bestimmte Code-Bereiche führen.

Dieses System ließe sich auch auf die Hardware- und Architekturpflege ausweiten. Für ChromeOS sei dies bereits umgesetzt. Google könnte die damit gemachten Erfahrungen sicher auch auf Android ausweiten.

Letztlich müsste Google sein AOSP zwar für die Vorschläge etwas öffnen. Viele Entwickler seien der Umfrage eines Sony-Angestellten zufolge aber deutlich an einer engen Zusammenarbeit in einer Upstream-Community interessiert. Einige Hersteller scheuen sich jedoch eben genau davor, obwohl sie damit wohl viel Geld einsparen könnten.


Relevante Themen