Eingerichtet für die AOSP-Entwicklung (9.0 oder höher)

Bevor Sie den main der Android-Quelle herunterladen und erstellen, stellen Sie sicher, dass Ihre Hardware die erforderlichen Anforderungen erfüllt und die erforderliche Software ordnungsgemäß installiert ist. Darüber hinaus sollten Sie mit folgenden Begriffen vertraut sein:

Git
Git ist ein kostenloses und quelloffenes verteiltes Versionskontrollsystem. Android verwendet Git für lokale Vorgänge wie Verzweigungen, Commits, Diffs und Bearbeitungen. Hilfe beim Erlernen von Git finden Sie in der Git-Dokumentation .
Repo
Repo ist ein Python-Wrapper für Git, der die Durchführung komplexer Vorgänge über mehrere Git-Repositorys hinweg vereinfacht. Repo ersetzt Git nicht für alle Versionskontrollvorgänge, sondern erleichtert nur die Durchführung komplexer Git-Vorgänge.

Erfüllen Sie die Hardwareanforderungen

Ihre Entwicklungs-Workstation sollte diese Hardwareanforderungen erfüllen oder übertreffen:

  • Ein 64-Bit-System.

  • Mindestens 400 GB freier Speicherplatz zum Auschecken und Erstellen des Codes (250 GB zum Auschecken + 150 GB zum Erstellen).

  • Mindestens 64 GB RAM. Google verwendet für die Entwicklung von Android Maschinen mit 72 Kernen und 64 GB RAM. Mit dieser Hardwarekonfiguration dauert der vollständige Build von Android etwa 40 Minuten und der inkrementelle Build von Android nur wenige Minuten. Im Gegensatz dazu dauert ein vollständiger Build auf einer 6-Kern-Maschine mit 64 GB RAM etwa 6 Stunden.

Erfüllen Sie die Anforderungen des Betriebssystems

Auf Ihrer Entwicklungs-Workstation muss eine beliebige 64-Bit-Linux-Distribution mit GNU C Library (glibc) 2.17 oder höher ausgeführt werden.

Installieren Sie die erforderlichen Pakete

Um Android 11 oder höher zu erstellen, müssen Sie Ubuntu 18.04 oder höher verwenden. Um erforderliche Pakete für Ubuntu 18.04 oder höher zu installieren, führen Sie den folgenden Befehl aus:

$ sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 libncurses5 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

Unter den installierten Paketen installiert dieser Befehl Git, das zum Herunterladen der AOSP-Quelle verwendet wird.

Installieren Sie die erforderliche Software

Bevor Sie mit AOSP arbeiten können, müssen Sie über Installationen von OpenJDK, Make, Python 3 und Repo verfügen. Der AOSP-Hauptzweig von Android enthält vorgefertigte Versionen von OpenJDK, Make und Python 3, sodass keine zusätzlichen Installationsschritte erforderlich sind. Im folgenden Abschnitt wird erläutert, wie Sie Repo installieren.

Repo installieren

Befolgen Sie diese Schritte, um Repo zu installieren:

  1. Laden Sie die aktuellen Paketinformationen herunter:

    $ sudo apt-get update
    
  2. Führen Sie den folgenden Befehl aus, um den Repo-Launcher zu installieren:

    $ sudo apt-get install repo
    

    Der Repo-Launcher stellt ein Python-Skript bereit, das einen Checkout initialisiert und das vollständige Repo-Tool herunterlädt.

    Wenn erfolgreich, fahren Sie mit Schritt 4 fort.

  3. (optional) Installieren Sie Repo manuell mit der folgenden Befehlsfolge:

    $ export REPO=$(mktemp /tmp/repo.XXXXXXXXX)
    $ curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo
    $ gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
    $ curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo
    

    Die ersten drei Befehle richten eine temporäre Datei ein, laden Repo in die Datei herunter und überprüfen, ob der bereitgestellte Schlüssel mit dem erforderlichen Schlüssel übereinstimmt. Wenn diese Befehle erfolgreich sind, installiert der letzte Befehl den Repo-Launcher.

  4. Überprüfen Sie die Repo-Launcher-Version:

    $ repo version
    

    Die Ausgabe sollte eine Version von 2.5 oder höher anzeigen, zum Beispiel:

    repo launcher version 2.40

Legen Sie ein alternatives Ausgabeverzeichnis fest

Standardmäßig wird die Ausgabe jedes Builds im Unterverzeichnis out/ des entsprechenden Quellbaums gespeichert. Sie können dieses Verzeichnis überschreiben, indem Sie die Umgebungsvariable OUT_DIR exportieren. Wenn Sie Ihre Ausgabe beispielsweise auf einem anderen Laufwerk speichern möchten, können Sie OUT_DIR auf dieses Laufwerk verweisen:

$ export OUT_DIR=my_other_drive