Dieses Dokument enthält Antworten auf allgemeine Fragen zur Android Open Source Platform (AOSP).
android-latest-release
Warum kann ich keine Änderungen an aosp-main senden?
Sie können keine Änderungen an aosp-main
vornehmen, da dieser Branch jetzt schreibgeschützt ist.
Wo kann ich Änderungen an AOSP vorschlagen?
Sie sollten neue Änderungen für android-latest-release
vorschlagen (bei Verwendung von Repo) oder für den neuesten Release-Branch, der im android-latest-release
-Manifest angegeben ist (bei direkter Verwendung von Git). Bestehende vorgeschlagene Änderungen in anderen Zweigen (z. B. aosp-main
) müssen nicht verschoben werden.
Mit welchem Branch soll ich synchronisieren?
Wenn Sie Repo verwenden, synchronisieren Sie mit
android-latest-release
mit dem folgenden Befehl:repo init --partial-clone --no-use-superproject -b android-latest-release -u https://android.googlesource.com/platform/manifest
Wenn Sie Git direkt verwenden, synchronisieren Sie mit dem Standardrevisionszweig, der im
android-latest-release
-Manifest angegeben ist.
Weitere Informationen zum Synchronisieren von Branches finden Sie unter Repo-Client initialisieren.
Wird der Code aus „android-latest-release“ in „aosp-main“ zusammengeführt?
Nein, der Code wird nicht in aosp-main
zusammengeführt. Dieser Branch ist seit dem 27. März 2025 schreibgeschützt.
Wohin wird der Code für das nächste Release übertragen?
Google überträgt den Code für die nächste Version in den Zweig für die aktuelle öffentliche Version und aktualisiert das android-latest-release
-Manifest, sodass es auf diesen Zweig verweist.
Wird meine Änderungsanfrage aus dem Branch „android-latest-release“ in das interne Gerrit übernommen?
Nachdem Sie eine vorgeschlagene Änderung hochgeladen haben, wird sie von Google überprüft. Wenn sie akzeptiert wird, wird sie in das interne Gerrit übernommen.
Woher weiß ich, ob mein Änderungsantrag akzeptiert wurde?
Akzeptierte und ausgewählte Änderungen werden bei einem zukünftigen Push in einen Release-Branch auf dem Android-Host angezeigt und können mit dem Repo über android-latest-release
synchronisiert werden.
Es gibt keinen Benachrichtigungsmechanismus, wenn eine vorgeschlagene Änderung akzeptiert oder abgelehnt wird.
Wie sieht der allgemeine Workflow aus, wenn ein externer Beitragender eine Änderung vorschlägt, bis sie in den neuesten Release-Zweig zusammengeführt wird?
Ein externer Beitragender schlägt eine Änderung an
android-latest-release
vor (bei Verwendung von Repo) oder am neuesten Release-Zweig, der imandroid-latest-release
-Manifest angegeben ist (bei direkter Verwendung von Git).Google überprüft die Änderung. Wenn die Änderung:
Akzeptiert: Google wählt diese Änderung aus und führt sie in den internen Entwicklungszweig ein.
Nicht akzeptiert, Google wählt die Änderung nicht aus.
Der externe Beitragende sucht in
android-latest-release
nach seiner Änderung.
Was passiert, wenn ich die vorgeschlagene Änderung nicht mehr benötige?
Wenn Sie die vorgeschlagene Änderung nicht mehr benötigen, nicht möchten, dass sie zusammengeführt wird, oder wissen, dass Google sie bereits überprüft hat, verwerfen Sie sie. Sie bleibt dann im Verlauf der vorgeschlagenen Änderungen auf dem Android-Host.
Open-Source-Fragen
Warum hat Google den Android-Quellcode geöffnet?
Google hat AOSP als Reaktion auf eigene Erfahrungen beim Start von mobilen Apps ins Leben gerufen. Wir wollten sicherstellen, dass es immer eine offene Plattform für Mobilfunkanbieter, OEMs und Entwickler gibt, auf der sie ihre innovativen Ideen umsetzen können. Außerdem wollten wir einen zentralen Fehlerpunkt vermeiden, damit kein einzelner Branchenakteur die Innovationen anderer einschränken oder kontrollieren kann. Unser wichtigstes Ziel mit dem AOSP ist es, dafür zu sorgen, dass Open-Source-Android-Software so weit wie möglich und kompatibel implementiert wird, zum Nutzen aller.
Welche Art von Open-Source-Projekt ist Android?
Google überwacht die Entwicklung des AOSP-Kernels und arbeitet daran, starke Entwickler- und Nutzer-Communities zu schaffen. Der Android-Quellcode ist größtenteils unter der permissiven Apache-Lizenz 2.0 lizenziert und nicht unter einer Copyleft-Lizenz. Wir haben uns für die Apache 2.0-Lizenz entschieden, weil wir glauben, dass sie die Verbreitung von Android-Software fördert. Weitere Informationen finden Sie unter Lizenzen.
Warum ist Google für Android verantwortlich?
Die Einführung einer Softwareplattform ist komplex. Offenheit ist für den langfristigen Erfolg einer Plattform von entscheidender Bedeutung, da sie Investitionen von Entwicklern anzieht und für gleiche Wettbewerbsbedingungen sorgt. Die Plattform muss auch für Nutzer ein attraktives Produkt sein.
Google hat die erforderlichen professionellen Engineering-Ressourcen bereitgestellt, um sicherzustellen, dass Android eine wettbewerbsfähige Softwareplattform ist. Google behandelt das Android-Projekt als vollwertige Produktentwicklung und schließt die erforderlichen Geschäftsvereinbarungen ab, um sicherzustellen, dass großartige Geräte mit Android auf den Markt kommen.
Wenn wir dafür sorgen, dass Android bei Nutzern gut ankommt, tragen wir dazu bei, dass Android als Plattform und als Open-Source-Projekt erfolgreich ist. Wer möchte schon den Quellcode für ein erfolgloses Produkt?
Unser Ziel ist es, ein erfolgreiches Ökosystem rund um Android zu schaffen. Wir haben den Android-Quellcode geöffnet, damit jeder die Software an seine eigenen Bedürfnisse anpassen und weitergeben kann.
Was ist die allgemeine Strategie von Google für die Entwicklung von Android-Produkten?
Wir bringen großartige Geräte auf einen wettbewerbsorientierten Markt. Die Innovationen und Verbesserungen, die wir vorgenommen haben, werden dann als nächste Version in die Kernplattform integriert.
In der Praxis bedeutet das, dass sich das Android-Entwicklungsteam auf eine kleine Anzahl von „Flaggschiff“-Geräten konzentriert und die nächste Version der Android-Software für diese Produkte entwickelt. Diese Flaggschiffgeräte decken einen Großteil des Produktrisikos ab und ebnen den Weg für die breite OEM-Community, die mit weiteren Geräten nachzieht, die die neuen Funktionen nutzen. So stellen wir sicher, dass sich die Android-Plattform entsprechend den Anforderungen von Geräten in der Praxis weiterentwickelt.
Wie wird Android-Software entwickelt?
Jede Plattformversion von Android (z. B. 1.5 oder 8.1) hat einen entsprechenden Branch im Open-Source-Baum. Der letzte Branch gilt als die aktuelle stabile Branchversion, auf die das android-latest-release
-Manifest verweist.
Dies ist der Branch, den Hersteller auf ihre Geräte portieren. Dieser Branch ist jederzeit für die Veröffentlichung geeignet.
Schließlich arbeitet Google an der nächsten Version der Android-Plattform und entwickelt gleichzeitig ein Flaggschiffgerät.
Warum werden Teile von Android privat entwickelt?
Es dauert in der Regel mehr als ein Jahr, bis ein Gerät auf den Markt kommt. Und natürlich möchten Gerätehersteller die neueste Software ausliefern, die sie anbieten können. Gleichzeitig möchten Entwickler beim Schreiben von Apps nicht ständig neue Versionen der Plattform im Blick behalten müssen. Bei beiden Gruppen besteht ein Spannungsverhältnis zwischen der Auslieferung von Produkten und dem Wunsch, nicht ins Hintertreffen zu geraten.
Um dem entgegenzuwirken, werden einige Teile der nächsten Android-Version, einschließlich der Core-Plattform-APIs, in einem privaten Branch entwickelt. Diese APIs bilden die nächste Version von Android. Wir möchten die Aufmerksamkeit auf die aktuelle stabile Version des Android-Quellcodes lenken, während wir die nächste Version der Plattform entwickeln. So können Entwickler und OEMs eine einzige Version verwenden, ohne unfertige zukünftige Arbeiten verfolgen zu müssen.
Wann werden Quellcode-Releases veröffentlicht?
Wenn sie bereit sind. Die Veröffentlichung des Quellcodes ist ein ziemlich komplexer Vorgang. Einige Teile von Android, z. B. der Kernel, werden öffentlich entwickelt und der Quellcode ist immer verfügbar. Andere Teile werden zuerst in einem privaten Baum entwickelt und der Quellcode wird freigegeben, wenn die nächste Plattformversion fertig ist.
In einigen Releases sind die Core-Plattform-APIs so frühzeitig verfügbar, dass wir den Quellcode vor der Veröffentlichung des Geräts zur Ansicht bereitstellen können. In anderen Releases ist das nicht möglich. In allen Fällen geben wir den Quellcode der Plattform frei, wenn wir der Meinung sind, dass die Version stabil ist und der Entwicklungsprozess dies zulässt.
Was ist bei der Veröffentlichung des Quellcodes für eine neue Android-Version zu beachten?
Die Veröffentlichung des Quellcodes für eine neue Version der Android-Plattform ist ein wichtiger Prozess. Zuerst wird die Software in ein System-Image für ein Gerät integriert und durchläuft verschiedene Zertifizierungen, darunter die behördliche Zertifizierung für die Regionen, in denen die Smartphones eingesetzt werden. Der Code wird auch von einem Operator getestet. Dies ist eine wichtige Phase des Prozesses, da sie dazu beiträgt, Softwarefehler zu erkennen.
Wenn die Version von den Aufsichtsbehörden und Mobilfunkanbietern genehmigt wurde, beginnt der Hersteller mit der Massenproduktion von Geräten und wir mit der Veröffentlichung des Quellcodes.
Gleichzeitig mit der Massenproduktion startet das Google-Team mehrere Initiativen, um die Open-Source-Veröffentlichung vorzubereiten. Dazu gehören die letzten API-Änderungen, die Aktualisierung der Dokumentation (z. B. um Änderungen widerzuspiegeln, die während der Qualifikationstests vorgenommen wurden), die Vorbereitung eines SDK für die neue Version und die Veröffentlichung der Informationen zur Plattformkompatibilität.
Unser Rechtsteam gibt den Code schließlich für die Veröffentlichung als Open Source frei. Genau wie Open-Source-Beitragende eine Lizenzvereinbarung für Beitragende unterzeichnen müssen, in der sie bestätigen, dass sie Inhaber des geistigen Eigentums an ihrem Beitrag sind, muss Google überprüfen, ob die Quelle für Beiträge freigegeben ist.
Ab dem Beginn der Massenproduktion dauert der Software-Release-Prozess in der Regel etwa einen Monat. Die Veröffentlichung des Quellcodes erfolgt daher oft etwa zur selben Zeit, zu der die Geräte die Nutzer erreichen.
Welcher Zusammenhang besteht zwischen dem AOSP und dem Android-Kompatibilitätsprogramm?
Das AOSP verwaltet die Android-Software und entwickelt neue Versionen. Da es sich um Open-Source-Software handelt, kann sie für jeden Zweck verwendet werden, auch für die Entwicklung von Geräten, die nicht mit anderen Geräten kompatibel sind, die auf derselben Quelle basieren.
Das Android-Kompatibilitätsprogramm definiert eine grundlegende Implementierung von Android, die mit von Entwicklern geschriebenen Drittanbieter-Apps kompatibel ist. Android-kompatible Geräte können am Android-Ökosystem teilnehmen, einschließlich Google Play. Geräte, die die Kompatibilitätsanforderungen nicht erfüllen, sind nicht Teil dieses Ökosystems.
Mit anderen Worten: Das Android-Kompatibilitätsprogramm dient dazu, Android-kompatible Geräte von Geräten zu unterscheiden, auf denen lediglich Derivate des Quellcodes ausgeführt werden. Wir begrüßen alle Verwendungen des Android-Quellcodes. Um jedoch am Android-Ökosystem teilzunehmen, muss ein Gerät vom Programm als Android-kompatibel identifiziert werden.
Wie kann ich zu Android beitragen?
Sie können Fehler melden, Apps für Android schreiben oder Quellcode zum AOSP beitragen.
Es gibt Einschränkungen hinsichtlich der Arten von Codebeiträgen, die wir akzeptieren. Beispielsweise könnte jemand eine alternative App-API beitragen, z. B. eine vollständige C++-basierte Umgebung. Wir würden diesen Beitrag ablehnen, da Android empfiehlt, Apps in der ART-Laufzeitumgebung auszuführen. Ebenso akzeptieren wir keine Beiträge wie GPL- oder LGPL-Bibliotheken, die nicht mit unseren Lizenzierungszielen kompatibel sind.
Wenn Sie Quellcode beitragen möchten, empfehlen wir Ihnen, uns über die in der Android-Community aufgeführten Kanäle zu kontaktieren, bevor Sie mit der Arbeit beginnen. Weitere Informationen finden Sie unter Beiträge leisten.
Wie werde ich ein Android-Committer?
Im AOSP gibt es keinen Committer. Alle Beiträge (auch die von Google-Mitarbeitern) durchlaufen ein webbasiertes System namens Gerrit, das Teil des Android-Entwicklungsprozesses ist. Dieses System arbeitet in Verbindung mit dem Git-Quellcodeverwaltungssystem, um Quellcodebeiträge sauber zu verwalten.
Ein bestimmter Genehmiger muss alle vorgeschlagenen Änderungen prüfen und akzeptieren. Genehmiger sind in der Regel Google-Mitarbeiter. Dieselben Genehmiger sind jedoch für alle Einsendungen verantwortlich, unabhängig von der Herkunft.
Weitere Informationen finden Sie unter Patches einreichen.