Android ist ein Betriebssystem für eine Vielzahl von Geräten mit unterschiedlichen Formfaktoren. Die Dokumentation und der Quellcode für Android sind für alle als Open-Source-Projekt für Android (AOSP) 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 Fehlerpunkt gibt, an dem ein Branchenplayer die Innovationen eines anderen einschränkt oder kontrolliert. AOSP ist also ein vollständiges Entwicklerprodukt in Produktionsqualität, dessen Quellcode für Anpassungen und Portierungen offen ist.
Dieser Abschnitt der Dokumentation hilft neuen AOSP-Entwicklern beim Einstieg in die Plattform und bei der Ausführung wichtiger Entwicklungsaufgaben.
Erforderliche Bedingungen
Im Folgenden finden Sie eine Liste der Begriffe und Definitionen, die in der Dokumentation „Erste Schritte“ verwendet werden. Lesen Sie sich jede Definition genau durch, bevor Sie fortfahren.
- Android-App-Entwickler
Entwickler von Android-Apps schreiben Android-Apps oder Anwendungen, die auf Android ausgeführt werden. Es gibt zwei Arten von App-Entwicklern: Entwickler von Apps mit selbst erhobenen Daten (1p) und Entwickler von Drittanbieter-Apps (3p).
- Erstanbieter-App-Entwickler für Android
- Ein Android-App-Entwickler, der Zugriff auf AOSP-System-APIs hat und Apps mit Berechtigungen und Gerätehersteller-Apps schreibt.
- Android-Drittanbieter-App-Entwickler
- Ein Android-App-Entwickler, der ausschließlich das öffentliche Android SDK zum Erstellen von Android-Apps verwendet.
Wenn Sie Drittanbieter-Apps für Android entwickeln möchten, lesen Sie developer.android.com
. Die Informationen auf dieser Website sind ausschließlich für Personen gedacht, die direkt mit AOSP arbeiten.
- Android Debug Bridge (ADB)
- Ein Befehlszeilentool (
adb
), mit dem Ihre Workstation mit einem virtuellen, softwareemulierten 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 Drittanbieterentwicklern mit dem Android SDK und NDK geschrieben wurden. Android-kompatible Geräte müssen die Anforderungen des Compatibility Definition Document (CDD) erfüllen und die Compatibility Test Suite (CTS) bestehen. Android-kompatible Geräte können am Android-Ökosystem teilnehmen. Dazu gehören die potenzielle Lizenzierung des Android Play Store, die potenzielle Lizenzierung der Google Mobile-Dienste (GMD)-Suite von Anwendungen und APIs sowie die Verwendung der Android-Marke. Jeder kann den Android-Quellcode verwenden. Damit ein Gerät jedoch als Teil des Android-Ökosystems gilt, muss es Android-kompatibel sein. Weitere Informationen zur Kompatibilität und zum CTS finden Sie in der Übersicht zum 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. Beitragende können Mitarbeiter von Google, Mitarbeiter anderer Unternehmen und Einzelpersonen ohne Unternehmenszugehörigkeit sein. Jeder AOSP-Beitragende verwendet dieselben Tools, folgt demselben Code-Review-Prozess und unterliegt demselben Codierungsstil. Sie müssen kein Mitwirkender sein, um AOSP zu verwenden. Sie können AOSP herunterladen, es an Ihre eigenen Bedürfnisse anpassen und auf einem Gerät bereitstellen, ohne Code für andere beizutragen.
Es gibt Einschränkungen hinsichtlich der Art von Codebeiträgen, die Google akzeptiert. Sie möchten 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 kompatibel sind.
Wenn Sie Quellcode beitragen möchten, wenden Sie sich an Google, bevor Sie mit der Arbeit beginnen.
- Compatibility Test Suite (CTS)
Eine kostenlose Testsuite in kommerzieller Qualität, die als Binärdatei oder als Quelle in AOSP heruntergeladen werden kann. Das CTS ist eine Reihe von Unit-Tests, die in Ihren täglichen Workflow integriert werden sollen. Das CTS soll Inkompatibilitäten aufdecken und dafür sorgen, dass die Software während des gesamten Entwicklungsprozesses kompatibel bleibt.
- Cuttlefish
Ein konfigurierbares virtuelles Android-Gerät, das remote über Cloud-Angebote von Drittanbietern wie Google Cloud Engine und lokal auf Linux-x86-Computern ausgeführt werden kann.
- Entwickler
Im Kontext von AOSP ist ein Entwickler jeder, der in irgendeiner Weise mit AOSP arbeitet. Der Begriff „Entwickler“ wird allgemein für die verschiedenen Personen verwendet, die diese Dokumentation lesen könnten, z. B. Erstausrüster (OEMs), Mobiltelefonhersteller, Mobilfunkanbieter und System-on-Chip-Entwickler (SoC).
- 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.
aosp_cf_x86_64_only_phone-userdebug
steht beispielsweise für ein x86-Smartphone mit 65 MB und Debugging-Informationen, das für die Ausführung auf dem Cuttlefish-Emulator entwickelt wurde.
Governance-Philosophie
Android wurde von einer Unternehmensgruppe namens Open Handset Alliance (OHA) entwickelt, die von Google geleitet wird. Viele Unternehmen – sowohl ursprüngliche Mitglieder der OHA als auch andere – haben heute stark in Android investiert. Diese Unternehmen haben erhebliche technische Ressourcen für die Verbesserung von Android und die Markteinführung von Android-Geräten bereitgestellt.
Die Unternehmen, die in Android investiert haben, haben dies getan, weil sie der Meinung sind, dass eine offene Plattform notwendig ist. Android ist bewusst und ausdrücklich ein Open-Source-Projekt (im Gegensatz zu kostenloser Software). Eine Gruppe von Organisationen mit gemeinsamen Anforderungen hat Ressourcen gebündelt, um an einer einzigen Implementierung eines gemeinsamen Produkts zusammenzuarbeiten. Die Android-Philosophie ist in erster Linie pragmatisch. Das Ziel ist ein gemeinsames Produkt, das jeder Mitwirkende anpassen kann.
Eine unkontrollierte Anpassung kann natürlich zu inkompatiblen Implementierungen führen. Um Inkompatibilitäten zu vermeiden, wird im Open-Source-Projekt für Android (Android Open Source Project, AOSP) das Android-Kompatibilitätsprogramm verwaltet. Darin wird festgelegt, was es bedeutet, Android-kompatibel zu sein, 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 alle rechtmäßigen Verwendungen. Um jedoch am gemeinsamen Ökosystem von Anwendungen teilzunehmen, das OHA-Mitglieder rund um Android entwickeln, müssen Gerätehersteller am Android-Kompatibilitätsprogramm teilnehmen.
AOSP wird von Google geleitet, das Android wartet und weiterentwickelt. Android besteht zwar aus mehreren Unterprojekten, AOSP ist jedoch strenges Projektmanagement. Google betrachtet und verwaltet Android als ein einziges, ganzheitliches Softwareprodukt und nicht als eine Distribution, Spezifikation oder Sammlung austauschbarer Teile. Google möchte, dass Gerätehersteller Android auf ein Gerät portieren. Sie implementieren keine Spezifikation und kuratieren keine Distribution.
Und jetzt?
Wenn Sie neu bei AOSP sind und ein Tutorial zur AOSP-Entwicklung durchlaufen möchten, fahren Sie mit dem AOSP-Tutorial fort.
Wenn Sie der Meinung sind, dass Ihr Gerät Android-kompatibel sein muss, lesen Sie das Android-Kompatibilitätsprogramm.
Wenn Sie mehr über den Hintergrund von AOSP erfahren möchten, einschließlich der Beteiligung von Google an der Plattform, lesen Sie die häufig gestellten Fragen zu AOSP.