AOSP-Übersicht

Android ist ein Betriebssystem für eine Vielzahl von Geräten mit unterschiedlichen Formfaktoren. Die Dokumentation und der Quellcode für Android sind als Android Open Source Project (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 Akteur in der Branche die Innovationen eines anderen einschränkt oder kontrolliert. Daher ist AOSP ein vollständiges Entwicklerprodukt in Produktionsqualität, dessen Quellcode zur Anpassung und Portierung offen ist.

Dieser Abschnitt der Dokumentation hilft neuen AOSP-Entwicklern beim Einstieg in die Plattform und bei der Ausführung wichtiger Entwicklungsaufgaben.

Erforderliche Begriffe

Im Folgenden finden Sie eine Liste der in dieser Einstiegsdokumentation verwendeten Begriffe und Definitionen. Sie sollten sich jede Definition genau ansehen, bevor Sie fortfahren.

Android-App-Entwickler

Entwickler von Android-Apps schreiben Android-Apps oder Anwendungen, die unter Android ausgeführt werden. Es gibt zwei Kategorien von App-Entwicklern: Entwickler von Erstanbieter-Apps und Drittanbieter-Apps.

Android-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 Entwickler von Android-Apps, der ausschließlich das öffentliche SDK von Android verwendet, um Android-Apps zu erstellen.

Wenn du Drittanbieter-Apps für Android entwickeln möchtest, findest du weitere Informationen unter 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), das Ihrer Workstation die Kommunikation mit einem virtuellen, softwareemulierten oder physischen Gerät ermöglicht.
Android-kompatibles Gerät
Ein Gerät, auf dem jede Drittanbieter-App ausgeführt werden kann, die von Drittanbietern mit dem Android SDK und NDK geschrieben wurde. Android-kompatible Geräte müssen die Anforderungen im Compatibility Definition Document (CDD) erfüllen und die Compatibility Test Suite (CTS) bestehen. Android-kompatible Geräte können Teil des Android-Ökosystems werden. Dazu gehört die potenzielle Lizenzierung des Android Play Store, potenzielle Lizenzen für die Google Mobile-Dienste (GMD)-Suite von Anwendungen und APIs und die Verwendung der Marke Android. 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 zu CTS finden Sie in der Übersicht zum Android-Kompatibilitätsprogramm.
Kompatibilitätsdefinitionsdokument (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. Jeder AOSP-Contributor verwendet dieselben Tools, folgt demselben Codeüberprüfungsprozess und unterliegt demselben Programmierstil. Sie müssen kein Beitragender sein, um AOSP verwenden zu können. Sie können AOSP herunterladen, nach Bedarf anpassen und auf einem Gerät bereitstellen, ohne Code für andere Nutzer beizusteuern.

Google akzeptiert nur bestimmte Arten von Codebeiträgen. Sie können beispielsweise eine alternative Anwendungs-API bereitstellen, z. B. eine vollständige C++-basierte Umgebung. Google würde diesen Beitrag ablehnen, da Android die Ausführung von Anwendungen in der ART-Laufzeit empfiehlt. Ebenso akzeptiert Google keine Beiträge wie zu Google Play- oder LGPL-Bibliotheken, die mit den Lizenzzielen nicht kompatibel sind.

Wenn Sie Quellcode beitragen möchten, wenden Sie sich an Google, bevor Sie mit der Arbeit beginnen.

Kompatibilitätstest-Suite (Compatibility Test Suite, CTS)

Eine kostenlose, kommerzielle Testsuite, die als Binärprogramm oder als Quelle in AOSP heruntergeladen werden kann. Die CTS besteht aus einer Reihe von Einheitentests, die Sie in Ihren täglichen Workflow einbinden können. Ziel von CTS ist es, Inkompatibilitäten aufzudecken und dafür zu sorgen, dass die Software während des gesamten Entwicklungsprozesses kompatibel bleibt.

Tintenfisch

Ein konfigurierbares virtuelles Android-Gerät, das remote über Cloud-Angebote von Drittanbietern wie Google Cloud Engine und lokal auf Linux x86-Maschinen ausgeführt werden kann.

Entwickler

Im Kontext von AOSP ist ein Entwickler jeder, der in irgendeiner Weise mit AOSP zusammenarbeitet. Der Begriff „Entwickler“ bezieht sich allgemein auf die verschiedenen Personen, die diese Dokumentation lesen, z. B. Erstausrüster (OEMs), Handset-Hersteller, Mobilfunkanbieter und System-on-a-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. Beispiel: aosp_cf_x86_64_phone-userdebug steht für ein x86-Smartphone mit 65 MB und Fehlerbehebungsinformationen, die für die Ausführung mit dem Tintenfisch-Emulator entwickelt wurden.

Governance-Philosophie

Android wurde von einer von Google geleiteten Open Handset Alliance (OHA) gegründet. Heute haben viele Unternehmen – sowohl ursprüngliche Mitglieder des OHA als auch andere – stark in Android investiert. Diese Unternehmen haben beträchtliche technische Ressourcen bereitgestellt, um Android zu verbessern und Android-Geräte auf den Markt zu bringen.

Die Unternehmen, die in Android investiert haben, tun dies, weil sie glauben, dass eine offene Plattform notwendig ist. Android ist absichtlich und explizit ein Open-Source-Projekt (im Gegensatz zu kostenloser Software). Eine Gruppe von Organisationen mit gemeinsamen Anforderungen verfügt über gemeinsame Ressourcen, um an einer einzelnen Implementierung eines gemeinsam genutzten Produkts zu arbeiten. In erster Linie ist die Android-Philosophie 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ät zu vermeiden, unterhält das Android Open Source Project (AOSP) das Android-Kompatibilitätsprogramm, das erklärt, was es bedeutet, Android-kompatibel zu sein, und welche Anforderungen Geräte-Builder erfüllen müssen, um diesen Status zu erreichen. Jeder kann den Android-Quellcode für jeden Zweck verwenden und Google begrüßen jede legitime Verwendung. Gerätehersteller müssen jedoch am Android-Kompatibilitätsprogramm teilnehmen.

AOSP wird von Google geleitet, das Android verwaltet und weiterentwickelt. Obwohl Android aus mehreren Teilprojekten besteht, ist AOSP ein reines 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 neu bei AOSP sind und eine Anleitung zur AOSP-Entwicklung durcharbeiten möchten, fahren Sie mit der AOSP-Anleitung fort.

  • Wenn du der Meinung bist, dass dein Gerät mit Android kompatibel sein muss, kannst du das Android-Kompatibilitätsprogramm nutzen.

  • Weitere Informationen zum Hintergrund von AOSP, einschließlich der Beteiligung von Google an der Plattform, finden Sie unter Häufig gestellte Fragen zu AOSP.