Android ist ein Betriebssystem für eine Vielzahl von Geräten mit unterschiedlichen Formfaktoren. Die Dokumentation und der Quellcode für Android sind als Open-Source-Projekt von Android (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 Akteur der Branche die Innovationen eines anderen einschränkt oder kontrolliert. Daher ist AOSP ein vollständiges Entwicklerprodukt in Produktionsqualität mit Quellcode, der für Anpassungen und Portierungen freigegeben 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 sich mit jeder Definition vertraut machen, 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 mit 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 sind ausschließlich für Personen bestimmt, die direkt mit AOSP arbeiten.
- 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 jede Drittanbieter-App ausgeführt werden kann, die von Drittanbietern mit dem Android SDK und dem NDK entwickelt wurde. 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. Damit ein Gerät als Teil des Android-Ökosystems betrachtet wird, muss es jedoch 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 Einzelpersonen ohne Unternehmenszugehörigkeit sein. Alle AOSP-Mitwirkenden verwenden dieselben Tools, folgen demselben Codeüberprüfungsprozess und unterliegen demselben Codierungsstil. Sie müssen kein Mitwirkender sein, um AOSP zu verwenden. Sie können AOSP herunterladen, nach Ihren eigenen Anforderungen 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 beisteuern, 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 Unit-Tests, die in Ihren täglichen Workflow integriert werden 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 individuell 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 beliebige Zwecke verwenden. Google begrüßt jede rechtmäßige Nutzung. Wenn sie jedoch am gemeinsamen Ökosystem der Anwendungen teilnehmen möchten, die OHA-Mitglieder für Android entwickeln, müssen Gerätehersteller 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. Google möchte, dass Gerätehersteller Android auf ein Gerät portieren. Sie implementieren keine Spezifikation und verwalten keine Distribution.
Wie geht es weiter?
Wenn Sie mit AOSP noch nicht vertraut sind und ein Tutorial zur AOSP-Entwicklung durchgehen möchten, fahren Sie mit dem AOSP-Tutorial 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.