AOSP-Übersicht,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) für jedermann 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 Branchenakteur die Innovationen eines anderen einschränkt oder kontrolliert. Daher ist AOSP ein vollständiges Entwicklerprodukt in Produktionsqualität, dessen Quellcode für Anpassung und Portierung offen ist.

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

Erforderliche Begriffe

Im Folgenden finden Sie eine Liste der Begriffe und Definitionen, die in dieser Dokumentation zu den ersten Schritten verwendet werden. Sie sollten jede Definition studieren, bevor Sie fortfahren.

Android-App-Entwickler

Android-App-Entwickler schreiben Android-Apps oder Anwendungen, die auf Android laufen. Es gibt zwei Klassifizierungen von App-Entwicklern: Erstanbieter-App-Entwickler (1P) und Drittanbieter-App-Entwickler (3P).

Android 1p-App-Entwickler
Ein Android-App-Entwickler, der Zugriff auf AOSP-System-APIs hat und privilegierte und Gerätehersteller-Apps schreibt.
Entwickler von Android 3p-Apps
Ein Android-App-Entwickler, der ausschließlich das öffentliche SDK von Android verwendet, um Android-Apps zu erstellen.

Wenn Sie 3P-Apps für Android entwickeln möchten, besuchen Sie developers.android.com . Die Informationen auf dieser Website richten sich ausschließlich an diejenigen, die direkt mit AOSP zusammenarbeiten.

Android-Debug-Brücke (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, das jede Drittanbieter-App ausführen kann, die von Drittentwicklern unter Verwendung des 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 sind zur Teilnahme am Android-Ökosystem berechtigt. Dazu gehören die potenzielle Lizenzierung des Android Play Store, die potenzielle Lizenzierung der Google Mobile Services (GMS) -Anwendungs- und API-Suite sowie die Nutzung der Marke Android. Jeder kann gerne den Android-Quellcode verwenden, aber um als Teil des Android-Ökosystems betrachtet zu werden, muss ein Gerät Android-kompatibel sein. Weitere Informationen zu Kompatibilität und CTS finden Sie in der Übersicht zum Android-Kompatibilitätsprogramm
Genehmiger
Erfahrene Mitglieder der AOSP-Community, die bedeutende technische und gestalterische Beiträge zur Plattform geleistet haben. Im Code-Review-Prozess entscheidet ein Genehmiger, ob eine Änderung aufgenommen werden soll. Projektleiter (die normalerweise bei Google angestellt sind) wählen die Genehmiger aus und befördern manchmal Prüfer zu Genehmigerpositionen, wenn sie Fachwissen in einem bestimmten Teil von AOSP nachweisen.
Kompatibilitätsdefinitionsdokument (CDD)
Ein Dokument, das die Software- und Hardwareanforderungen für ein Android-kompatibles Gerät auflistet.
Mitwirkender

Eine Person, die auch Beiträge zum AOSP-Quellcode leistet. Mitwirkende können Mitarbeiter von Google, Mitarbeiter anderer Unternehmen und Einzelpersonen ohne Unternehmenszugehörigkeit sein. Jeder AOSP-Mitwirkende verwendet dieselben Tools, folgt demselben Codeüberprüfungsprozess und unterliegt demselben Codierungsstil. Sie müssen kein Mitwirkender sein, um AOSP nutzen zu können. Sie können AOSP herunterladen, es an Ihre eigenen Bedürfnisse anpassen und auf einem Gerät bereitstellen, ohne Code für die Verwendung durch andere beizutragen.

Es gibt Beschränkungen hinsichtlich der Art der Codebeiträge, die Google akzeptiert. Beispielsweise möchten Sie möglicherweise eine alternative Anwendungs-API beisteuern, beispielsweise eine vollständig C++-basierte Umgebung. Google würde diesen Beitrag ablehnen, da Android die Ausführung von Anwendungen in der ART-Laufzeitumgebung fördert. Ebenso akzeptiert Google keine Beiträge wie GPL- oder LGPL-Bibliotheken, die nicht mit den Lizenzzielen kompatibel sind.

Wenn Sie daran interessiert sind, Quellcode beizutragen, kontaktieren Sie Google, bevor Sie mit der Arbeit beginnen.

Kompatibilitätstest-Suite (CTS)

Eine kostenlose, kommerzielle Testsuite, 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 Arbeitsablauf integriert werden können. Ziel von CTS ist es, Inkompatibilitäten aufzudecken und sicherzustellen, 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 arbeitet. Der Begriff „Entwickler“ bezieht sich allgemein auf die verschiedenen Personen, die diese Dokumentation möglicherweise lesen, z. B. Originalgerätehersteller (OEMs), Mobiltelefonhersteller, Netzbetreiber und System-on-a-Chip (SoC)-Entwickler.

Google Mobile Services (GMS)

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

Ziel

Eine Permutation eines Geräts, beispielsweise ein bestimmtes Modell oder ein bestimmter Formfaktor. Beispielsweise stellt aosp_cf_x86_64_phone-userdebug ein x86-65-MB-Telefon mit Debugging-Informationen dar, das für die Ausführung auf dem Tintenfisch-Emulator konzipiert ist.

Prüfer

Ein geschätzter Mitwirkender in der Android-Community, der Änderungen an AOSP herunterlädt und überprüft. Nachdem Sie eine beträchtliche Menge an qualitativ hochwertigem Code an AOSP übermittelt haben, werden Sie möglicherweise von den Projektleitern eingeladen, Prüfer zu werden.

Governance-Philosophie

Android wurde von einer Unternehmensgruppe namens Open Handset Alliance (OHA) unter der Führung von Google entwickelt. Heutzutage haben viele Unternehmen – sowohl Gründungsmitglieder der OHA als auch andere – stark in Android investiert. Diese Unternehmen haben erhebliche technische Ressourcen bereitgestellt, um Android zu verbessern und Android-Geräte auf den Markt zu bringen.

Die Unternehmen, die in Android investiert haben, haben dies getan, weil sie glauben, dass eine offene Plattform notwendig ist. Android ist bewusst und ausdrücklich ein Open-Source-Ansatz (im Gegensatz zu freier Software); Eine Gruppe von Organisationen mit gemeinsamen Bedürfnissen 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 individuell anpassen und anpassen kann.

Natürlich kann eine unkontrollierte Anpassung zu inkompatiblen Implementierungen führen. Um Inkompatibilität zu verhindern, unterhält das Android Open Source Project (AOSP) das Android-Kompatibilitätsprogramm , das darlegt, was es bedeutet, Android-kompatibel zu sein und was von Geräteherstellern verlangt wird, um diesen Status zu erreichen. Jeder kann den Android-Quellcode für jeden Zweck verwenden und Google begrüßt jede legitime Verwendung. Um jedoch am gemeinsamen Ökosystem der Anwendungen teilzunehmen, die OHA-Mitglieder rund um Android entwickeln, müssen Gerätehersteller am Android-Kompatibilitätsprogramm teilnehmen.

AOSP wird von Google geleitet, das Android pflegt und weiterentwickelt. Obwohl Android aus mehreren Teilprojekten besteht, handelt es sich bei AOSP ausschließlich um Projektmanagement. Google betrachtet und verwaltet Android als ein einzelnes, ganzheitliches Softwareprodukt und nicht als Distribution, Spezifikation oder Sammlung austauschbarer Teile. Die Absicht von Google besteht darin, dass Gerätehersteller Android auf ein Gerät portieren. Sie implementieren keine Spezifikation und kuratieren keine Distribution.

Was kommt als nächstes?

  • Wenn Sie neu bei AOSP sind und ein Tutorial zur AOSP-Entwicklung durchgehen möchten, fahren Sie mit dem AOSP-Tutorial fort.

  • Wenn Sie glauben, 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 .

,

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) für jedermann 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 Branchenakteur die Innovationen eines anderen einschränkt oder kontrolliert. Daher ist AOSP ein vollständiges Entwicklerprodukt in Produktionsqualität, dessen Quellcode für Anpassung und Portierung offen ist.

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

Erforderliche Begriffe

Im Folgenden finden Sie eine Liste der Begriffe und Definitionen, die in dieser Dokumentation zu den ersten Schritten verwendet werden. Sie sollten jede Definition studieren, bevor Sie fortfahren.

Android-App-Entwickler

Android-App-Entwickler schreiben Android-Apps oder Anwendungen, die auf Android laufen. Es gibt zwei Klassifizierungen von App-Entwicklern: Erstanbieter-App-Entwickler (1P) und Drittanbieter-App-Entwickler (3P).

Android 1p-App-Entwickler
Ein Android-App-Entwickler, der Zugriff auf AOSP-System-APIs hat und privilegierte und Gerätehersteller-Apps schreibt.
Entwickler von Android 3p-Apps
Ein Android-App-Entwickler, der ausschließlich das öffentliche SDK von Android verwendet, um Android-Apps zu erstellen.

Wenn Sie 3P-Apps für Android entwickeln möchten, besuchen Sie developers.android.com . Die Informationen auf dieser Website richten sich ausschließlich an diejenigen, die direkt mit AOSP zusammenarbeiten.

Android-Debug-Brücke (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, das jede Drittanbieter-App ausführen kann, die von Drittentwicklern unter Verwendung des 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 sind zur Teilnahme am Android-Ökosystem berechtigt. Dazu gehören die potenzielle Lizenzierung des Android Play Store, die potenzielle Lizenzierung der Google Mobile Services (GMS) -Anwendungs- und API-Suite sowie die Nutzung der Marke Android. Jeder kann gerne den Android-Quellcode verwenden, aber um als Teil des Android-Ökosystems betrachtet zu werden, muss ein Gerät Android-kompatibel sein. Weitere Informationen zu Kompatibilität und CTS finden Sie in der Übersicht zum Android-Kompatibilitätsprogramm
Genehmiger
Erfahrene Mitglieder der AOSP-Community, die bedeutende technische und gestalterische Beiträge zur Plattform geleistet haben. Im Code-Review-Prozess entscheidet ein Genehmiger, ob eine Änderung aufgenommen werden soll. Projektleiter (die normalerweise bei Google angestellt sind) wählen die Genehmiger aus und befördern manchmal Prüfer zu Genehmigerpositionen, wenn sie Fachwissen in einem bestimmten Teil von AOSP nachweisen.
Kompatibilitätsdefinitionsdokument (CDD)
Ein Dokument, das die Software- und Hardwareanforderungen für ein Android-kompatibles Gerät auflistet.
Mitwirkender

Eine Person, die auch Beiträge zum AOSP-Quellcode leistet. Mitwirkende können Mitarbeiter von Google, Mitarbeiter anderer Unternehmen und Einzelpersonen ohne Unternehmenszugehörigkeit sein. Jeder AOSP-Mitwirkende verwendet dieselben Tools, folgt demselben Codeüberprüfungsprozess und unterliegt demselben Codierungsstil. Sie müssen kein Mitwirkender sein, um AOSP nutzen zu können. Sie können AOSP herunterladen, es an Ihre eigenen Bedürfnisse anpassen und auf einem Gerät bereitstellen, ohne Code für die Verwendung durch andere beizutragen.

Es gibt Beschränkungen hinsichtlich der Art der Codebeiträge, die Google akzeptiert. Beispielsweise möchten Sie möglicherweise eine alternative Anwendungs-API beisteuern, beispielsweise eine vollständig C++-basierte Umgebung. Google würde diesen Beitrag ablehnen, da Android die Ausführung von Anwendungen in der ART-Laufzeitumgebung fördert. Ebenso akzeptiert Google keine Beiträge wie GPL- oder LGPL-Bibliotheken, die nicht mit den Lizenzzielen kompatibel sind.

Wenn Sie daran interessiert sind, Quellcode beizutragen, kontaktieren Sie Google, bevor Sie mit der Arbeit beginnen.

Kompatibilitätstest-Suite (CTS)

Eine kostenlose, kommerzielle Testsuite, 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 Arbeitsablauf integriert werden können. Ziel von CTS ist es, Inkompatibilitäten aufzudecken und sicherzustellen, 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 arbeitet. Der Begriff „Entwickler“ bezieht sich allgemein auf die verschiedenen Personen, die diese Dokumentation möglicherweise lesen, z. B. Originalgerätehersteller (OEMs), Mobiltelefonhersteller, Netzbetreiber und System-on-a-Chip (SoC)-Entwickler.

Google Mobile Services (GMS)

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

Ziel

Eine Permutation eines Geräts, beispielsweise ein bestimmtes Modell oder ein bestimmter Formfaktor. Beispielsweise stellt aosp_cf_x86_64_phone-userdebug ein x86-65-MB-Telefon mit Debugging-Informationen dar, das für die Ausführung auf dem Tintenfisch-Emulator konzipiert ist.

Prüfer

Ein geschätzter Mitwirkender in der Android-Community, der Änderungen an AOSP herunterlädt und überprüft. Nachdem Sie eine beträchtliche Menge an qualitativ hochwertigem Code an AOSP übermittelt haben, werden Sie möglicherweise von den Projektleitern eingeladen, Prüfer zu werden.

Governance-Philosophie

Android wurde von einer Unternehmensgruppe namens Open Handset Alliance (OHA) unter der Führung von Google entwickelt. Heutzutage haben viele Unternehmen – sowohl Gründungsmitglieder der OHA als auch andere – stark in Android investiert. Diese Unternehmen haben erhebliche technische Ressourcen bereitgestellt, um Android zu verbessern und Android-Geräte auf den Markt zu bringen.

Die Unternehmen, die in Android investiert haben, haben dies getan, weil sie glauben, dass eine offene Plattform notwendig ist. Android ist bewusst und ausdrücklich ein Open-Source-Ansatz (im Gegensatz zu freier Software); Eine Gruppe von Organisationen mit gemeinsamen Bedürfnissen 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 individuell anpassen und anpassen kann.

Natürlich kann eine unkontrollierte Anpassung zu inkompatiblen Implementierungen führen. Um Inkompatibilität zu verhindern, unterhält das Android Open Source Project (AOSP) das Android-Kompatibilitätsprogramm , das darlegt, was es bedeutet, Android-kompatibel zu sein und was von Geräteherstellern verlangt wird, um diesen Status zu erreichen. Jeder kann den Android-Quellcode für jeden Zweck verwenden und Google begrüßt jede legitime Verwendung. Um jedoch am gemeinsamen Ökosystem der Anwendungen teilzunehmen, die OHA-Mitglieder rund um Android entwickeln, müssen Gerätehersteller am Android-Kompatibilitätsprogramm teilnehmen.

AOSP wird von Google geleitet, das Android pflegt und weiterentwickelt. Obwohl Android aus mehreren Teilprojekten besteht, handelt es sich bei AOSP ausschließlich um Projektmanagement. Google betrachtet und verwaltet Android als ein einzelnes, ganzheitliches Softwareprodukt und nicht als Distribution, Spezifikation oder Sammlung austauschbarer Teile. Die Absicht von Google besteht darin, dass Gerätehersteller Android auf ein Gerät portieren. Sie implementieren keine Spezifikation und kuratieren keine Distribution.

Was kommt als nächstes?

  • Wenn Sie neu bei AOSP sind und ein Tutorial zur AOSP-Entwicklung durchgehen möchten, fahren Sie mit dem AOSP-Tutorial fort.

  • Wenn Sie glauben, 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 .