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 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 Branchenteilnehmer 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 offen ist.

In diesem Abschnitt der Dokumentation erfahren neue AOSP-Entwickler, wie sie mit der Plattform beginnen und wichtige Entwicklungsaufgaben ausführen können.

Erforderliche Begriffe

Im Folgenden finden Sie eine Liste der Begriffe und Definitionen, die in der gesamten Dokumentation „Erste Schritte“ verwendet werden. Sie sollten sich jede Definition ansehen, bevor Sie fortfahren.

Android-App-Entwickler

Android-App-Entwickler schreiben Android-Apps oder Anwendungen, die unter Android ausgeführt werden. Es gibt zwei Arten von App-Entwicklern: Erstanbieter-App-Entwickler (1p) und Drittanbieter-App-Entwickler (3p).

Erstanbieter-App-Entwickler für Android
Ein Android-App-Entwickler, der Zugriff auf AOSP-System-APIs hat und Apps mit privilegiertem Zugriff und Apps für Gerätehersteller schreibt.
Drittanbieter-App-Entwickler für Android
Ein Android-App-Entwickler, der ausschließlich das öffentliche Android SDK verwendet, um Android-Apps zu erstellen.

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 jede Drittanbieter-App ausgeführt werden kann, die von Drittanbieter-Entwicklern mit dem Android SDK und NDK geschrieben wurde. 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, was die potenzielle Lizenzierung des Google Play Store, die potenzielle Lizenzierung der Google Mobile-Dienste (GMS)-Suite von Anwendungen und APIs sowie die Verwendung der Android-Marke umfasst. 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 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. Alle AOSP-Beitragenden verwenden dieselben Tools, folgen demselben Codeüberprüfungsprozess und unterliegen demselben Programmierstil. Sie müssen kein Beitragender sein, um AOSP zu verwenden. Sie können AOSP herunterladen, es an Ihre Bedürfnisse anpassen und auf einem Gerät bereitstellen, ohne Code beizutragen, den andere verwenden können.

Es gibt Einschränkungen hinsichtlich der Art von Codebeiträgen, die Google akzeptiert. Beispielsweise möchten Sie möglicherweise 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-Laufzeitumgebung auszuführen. Ebenso akzeptiert Google keine Beiträge wie GPL- oder LGPL-Bibliotheken, die mit den Lizenzierungszielen nicht 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. Die CTS ist eine Reihe von Unit-Tests, die in Ihren täglichen Workflow integriert werden können. Ziel der CTS ist es, Inkompatibilitäten aufzudecken und sicherzustellen, dass die Software während des gesamten Entwicklungsprozesses kompatibel bleibt.

Cuttlefish

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

Entwickler

Im Zusammenhang mit AOSP ist ein Entwickler jeder, der in irgendeiner Weise mit AOSP arbeitet. Der Begriff „Entwickler“ wird allgemein verwendet, um sich auf die verschiedenen Personen zu beziehen, die diese Dokumentation lesen könnten, z. B. Gerätehersteller (auch Erstausrüster oder OEMs genannt), Mobiltelefonhersteller, Mobilfunkanbieter und System-on-a-Chip-Hersteller (SoC).

Google Mobile-Dienste (GMD)

Eine Sammlung von Google-Apps und APIs, die auf Geräten vorinstalliert werden können.

Target

Eine Permutation eines Geräts, z. B. ein bestimmtes Modell oder ein bestimmter Formfaktor. Beispielsweise steht aosp_cf_x86_64_only_phone-userdebug für ein 65-MB-Smartphone mit Debugging-Informationen, das für die Ausführung auf dem Cuttlefish-Emulator entwickelt wurde.

Governance-Philosophie

Eine Gruppe von Unternehmen, die als Open Handset Alliance (OHA) bekannt ist und von Google geleitet wird, hat Android entwickelt. Heute haben viele Unternehmen – sowohl ursprüngliche Mitglieder der OHA als auch andere – stark in Android investiert. Diese Unternehmen haben erhebliche technische Ressourcen eingesetzt, um Android zu verbessern und Android-Geräte auf den Markt zu bringen.

Die Unternehmen, die in Android investiert haben, sind der Ansicht, dass eine offene Plattform erforderlich 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 zusammengelegt, um an einer einzigen Implementierung eines gemeinsamen Produkts zusammenzuarbeiten. In erster Linie ist die Android-Philosophie pragmatisch. Ziel ist ein gemeinsames Produkt, das jeder Beitragende 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 (AOSP) das Android-Kompatibilitätsprogramm verwaltet, in dem festgelegt ist, 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 jeden Zweck verwenden und Google begrüßt alle legitimen Verwendungszwecke. Um jedoch am gemeinsamen Ökosystem von Anwendungen teilzunehmen, das OHA-Mitglieder rund um Android aufbauen, müssen Gerätehersteller am Android-Kompatibilitätsprogramm teilnehmen.

AOSP wird von Google geleitet, das Android verwaltet und weiterentwickelt. Obwohl Android aus mehreren Unterprojekten besteht, ist AOSP ausschließlich 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.

Nächste Schritte