Android ist ein Betriebssystem für eine Vielzahl von Geräten mit unterschiedlichen Formfaktoren. Die Dokumentation und der Quellcode für Android sind im Rahmen des Android Open Source-Projekts (AOSP) für alle verfügbar. Mit AOSP können Sie benutzerdefinierte Varianten des Android-Betriebssystems für Ihre eigenen Geräte erstellen.
AOSP ist so konzipiert, dass es keinen zentralen Punkt gibt, an dem ein Industrieunternehmen die Innovationen eines anderen einschränkt oder kontrolliert. Daher ist AOSP ein vollständiges Entwicklerprodukt in Produktionsqualität, dessen Quellcode für die Anpassung und Portierung offen ist.
Dieser Abschnitt der Dokumentation hilft neuen AOSP-Entwicklern, mit der Plattform zu beginnen und wichtige Entwicklungsaufgaben auszuführen.
Erforderliche Bedingungen
Im Folgenden finden Sie eine Liste der Begriffe und Definitionen, die in der Dokumentation „Einstieg“ verwendet werden. Sie sollten jede Definition untersuchen, bevor Sie fortfahren.
- Android-App-Entwickler
Android-App-Entwickler schreiben Android-Apps oder Anwendungen, die auf Android ausgeführt werden. Es gibt zwei Arten von App-Entwicklern: Entwickler von selbst erhobenen Daten (1p) und Entwickler von Drittanbieter-Apps (3p).
- Android-Erstanbieter-App-Entwickler
- Ein Android-App-Entwickler, der Zugriff auf AOSP-System-APIs hat und privilegierte Apps und Apps von Geräteherstellern schreibt.
- Android-Drittanbieter-App-Entwickler
- Ein Android-App-Entwickler, der zum Erstellen von Android-Apps ausschließlich das öffentliche Android SDK verwendet.
Wenn Sie Drittanbieter-Apps für Android entwickeln möchten, lesen Sie den Hilfeartikel developers.android.com
. Die Informationen auf dieser Website richten sich ausschließlich an Personen, die direkt mit AOSP zusammenarbeiten.
- Android Debug Bridge (ADB)
- Ein Befehlszeilentool (
adb
), mit dem Ihre Workstation mit einem virtuellen, software-emulierten oder physischen Gerät kommunizieren kann. - Android-kompatibles Gerät
- Ein Gerät, auf dem alle Drittanbieter-Apps ausgeführt werden können, die von Drittanbietern mit dem Android SDK und dem NDK entwickelt wurden. Android-kompatible Geräte müssen den Anforderungen des Compatibility Definition Document (CDD) entsprechen und die Compatibility Test Suite (CTS) bestehen. Android-kompatible Geräte können am Android-System teilnehmen. Dazu gehören die potenzielle Lizenzierung des Android Play Store, die potenzielle Lizenzierung der Anwendungen und APIs der Google Mobile-Dienste (GMS) sowie die Verwendung der Android-Marke. Jeder kann den Android-Quellcode verwenden, aber um als Teil des Android-Ökosystems zu gelten, muss ein Gerät mit Android kompatibel sein. Weitere Informationen zur Kompatibilität und zum CTS finden Sie in der Übersicht über das Android-Kompatibilitätsprogramm.
- Compatibility Definition Document (CDD)
- Ein Dokument, in dem die Software- und Hardwareanforderungen für ein Android-kompatibles Gerät aufgeführt sind.
- Beitragender
Eine Person, die Beiträge zum AOSP-Quellcode leistet. Mitwirkende können Mitarbeiter von Google, Mitarbeiter anderer Unternehmen und Personen ohne Unternehmenszugehörigkeit sein. Alle AOSP-Mitarbeiter verwenden dieselben Tools, folgen demselben Code-Review-Prozess und unterliegen demselben Codierungsstil. Sie müssen kein Mitwirkender sein, um AOSP zu verwenden. Sie können AOSP herunterladen, nach Ihren eigenen Bedürfnissen anpassen und auf einem Gerät bereitstellen, ohne Code für andere zur Verfügung zu stellen.
Es gibt Einschränkungen für die Art der Codebeiträge, die Google akzeptiert. Sie können beispielsweise eine alternative Anwendungs-API beitragen, z. B. eine vollständige C++-basierte Umgebung. Google würde diesen Beitrag ablehnen, da Android empfiehlt, Anwendungen in der ART-Laufzeit auszuführen. Ebenso akzeptiert Google keine Beiträge wie GPL- oder LGPL-Bibliotheken, die nicht mit den Lizenzierungszielen vereinbar sind.
Wenn Sie Quellcode beisteuern möchten, wenden Sie sich vor Beginn der Arbeit an Google.
- Compatibility Test Suite (CTS)
Eine kostenlose Testsuite für kommerzielle Zwecke, die als Binärdatei oder als Quelle in AOSP zum Download zur Verfügung steht. Die CTS besteht aus einer Reihe von Einheitentests, die Sie in Ihren täglichen Workflow einbinden können. CTS soll Inkompatibilitäten aufdecken und dafür sorgen, dass die Software während des gesamten Entwicklungsprozesses kompatibel bleibt.
- Kalmar
Ein konfigurierbares virtuelles Android-Gerät, das per Fernzugriff mithilfe von Cloud-Angeboten von Drittanbietern wie der Google Cloud Engine und lokal auf Linux-x86-Maschinen ausgeführt werden kann.
- Entwickler
Im Zusammenhang mit AOSP ist ein Entwickler jeder, der in irgendeiner Weise mit AOSP arbeitet. Der Begriff „Entwickler“ bezieht sich allgemein auf die verschiedenen Personen, die diese Dokumentation lesen könnten, z. B. Erstausrüster (OEMs), Smartphone-Hersteller, Mobilfunkanbieter und Entwickler von System-on-a-Chips (SoCs).
- Google Mobile-Dienste (GMD)
Eine Sammlung von Google-Apps und ‑APIs, die auf Geräten vorinstalliert werden können.
- Target
Eine Variante eines Geräts, z. B. ein bestimmtes Modell oder ein bestimmter Formfaktor. Beispiel:
aosp_cf_x86_64_phone-userdebug
steht für ein x86-Smartphone mit 65 MB und Informationen zur Fehlerbehebung, das für den Cuttlefish-Emulator entwickelt wurde.
Governance-Philosophie
Android wurde von einer Gruppe von Unternehmen unter der Leitung von Google, der Open Handset Alliance (OHA), entwickelt. Heute haben viele Unternehmen – sowohl ursprüngliche Mitglieder der OHA als auch andere – viel in Android investiert. Diese Unternehmen haben erhebliche Entwicklungsressourcen für die Verbesserung von Android und die Markteinführung von Android-Geräten bereitgestellt.
Die Unternehmen, die in Android investiert haben, sind der Meinung, dass eine offene Plattform erforderlich ist. Android ist absichtlich und ausdrücklich ein Open-Source-Projekt (im Gegensatz zu kostenloser Software). Eine Gruppe von Organisationen mit gemeinsamen Anforderungen hat Ressourcen zusammengelegt, um gemeinsam an einer einzigen Implementierung eines gemeinsamen Produkts zu arbeiten. Die Android-Philosophie ist in erster Linie pragmatisch. Das Ziel ist ein gemeinsames Produkt, das jeder Mitwirkende anpassen und anpassen kann.
Natürlich kann eine unkontrollierte Anpassung zu inkompatiblen Implementierungen führen. Um Inkompatibilitäten zu vermeiden, wird vom Android Open Source Project (AOSP) das Android-Kompatibilitätsprogramm verwaltet. Darin wird erläutert, was Android-Kompatibilität bedeutet und was Gerätehersteller tun müssen, um diesen Status zu erreichen. Jeder kann den Android-Quellcode für jeden Zweck verwenden und Google begrüßen jede legitime Verwendung. Wenn Gerätehersteller jedoch am gemeinsamen Ökosystem von Anwendungen teilnehmen möchten, das OHA-Mitglieder für Android entwickeln, müssen sie am Android-Kompatibilitätsprogramm teilnehmen.
AOSP wird von Google geleitet, das Android verwaltet und weiterentwickelt. Obwohl Android aus mehreren Teilprojekten besteht, ist AOSP rein Projektmanagement. Google betrachtet und verwaltet Android als einzelnes, ganzheitliches Softwareprodukt und nicht als Distribution, Spezifikation oder Sammlung austauschbarer Teile. Die Absicht von Google ist, dass Gerätehersteller Android auf ein Gerät portieren. Sie implementieren keine Spezifikation und erstellen keine Distributionen.
Wie geht es weiter?
Wenn Sie mit AOSP noch nicht vertraut sind und eine Anleitung zur AOSP-Entwicklung durchgehen möchten, fahren Sie mit der AOSP-Anleitung fort.
Wenn Sie der Meinung sind, dass Ihr Gerät mit Android kompatibel sein muss, lesen Sie den Hilfeartikel Android-Kompatibilitätsprogramm.
Weitere Informationen zum Hintergrund von AOSP, einschließlich der Beteiligung von Google an der Plattform, finden Sie unter Häufig gestellte Fragen zu AOSP.