Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Erstellen einer Build-Umgebung

In diesem Abschnitt wird beschrieben, wie Sie Ihre lokale Arbeitsumgebung zum Erstellen der Android-Quelldateien einrichten. Sie müssen Linux oder macOS verwenden. Das Erstellen unter Windows wird derzeit nicht unterstützt.

Eine Übersicht über den gesamten Codeüberprüfungs- und Codeaktualisierungsprozess finden Sie unter Lebensdauer eines Patches .

Zweig auswählen

Einige Anforderungen für die Build-Umgebung werden durch die Version des Quellcodes bestimmt, den Sie kompilieren möchten. Eine vollständige Liste der verfügbaren Zweige finden Sie unter Build-Nummern . Sie können auch den neuesten Quellcode ( master ) herunterladen und erstellen. In diesem Fall lassen Sie die Zweigspezifikation einfach weg, wenn Sie das Repository initialisieren.

Befolgen Sie nach Auswahl eines Zweigs die folgenden Anweisungen, um Ihre Build-Umgebung einzurichten.

Einrichten einer Linux-Build-Umgebung

Diese Anweisungen gelten für alle Zweige, einschließlich master .

Der Android-Build wird routinemäßig intern unter Ubuntu LTS (14.04) und Debian-Tests getestet. Die meisten anderen Distributionen sollten über die erforderlichen Build-Tools verfügen.

Für Lebkuchen (2.3.x) und höhere Versionen, einschließlich dem master - Zweig, eine 64-Bit - Umgebung erforderlich. Ältere Versionen können auf 32-Bit-Systemen kompiliert werden.

Erforderliche Pakete installieren (Ubuntu 18.04)

Sie benötigen eine 64-Bit-Version von Ubuntu.

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

Erforderliche Pakete installieren (Ubuntu 14.04)

Sie benötigen eine 64-Bit-Version von Ubuntu (14.04 wird empfohlen).

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip

Erforderliche Pakete installieren (Ubuntu 12.04)

Sie können Ubuntu 12.04 verwenden, um ältere Versionen von Android zu erstellen. Version 12.04 wird in master oder neueren Versionen nicht unterstützt.

sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

Erforderliche Pakete installieren (Ubuntu 10.04-11.10)

Das Bauen auf Ubuntu 10.04-11.10 wird nicht mehr unterstützt, kann jedoch zum Erstellen älterer AOSP-Versionen hilfreich sein.

sudo apt-get install git gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc

Unter Ubuntu 10.10:

sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so

Unter Ubuntu 11.10:

sudo apt-get install libx11-dev:i386

USB-Zugang konfigurieren

Installieren Sie einen von der Community verwalteten Standardsatz von udev Regeln für alle Android-Geräte, indem Sie den Anweisungen zum Einrichten eines Geräts für die Entwicklung folgen.

Verwenden eines separaten Ausgabeverzeichnisses

Standardmäßig wird die Ausgabe jedes Builds im Unterverzeichnis out/ des entsprechenden Quellbaums gespeichert.

Auf einigen Computern mit mehreren Speichergeräten sind Builds schneller, wenn die Quelldateien und die Ausgabe auf separaten Volumes gespeichert werden. Für zusätzliche Leistung kann die Ausgabe in einem Dateisystem gespeichert werden, das auf Geschwindigkeit anstatt auf Absturzstabilität optimiert ist, da alle Dateien neu generiert werden können, wenn das Dateisystem beschädigt ist.

Um dies einzurichten, exportieren Sie die Variable OUT_DIR_COMMON_BASE , um auf den Speicherort zu verweisen, an dem Ihre Ausgabeverzeichnisse gespeichert werden.

export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>

Das Ausgabeverzeichnis für jeden einzelnen Quellbaum ist nach dem Verzeichnis benannt, in dem sich der Quellbaum befindet. Wenn Sie beispielsweise die Quellbäume /source/master1 und /source/master2 und OUT_DIR_COMMON_BASE auf /output , lauten die Ausgabeverzeichnisse /output/master1 und /output/master2 .

Vermeiden Sie es, mehrere Quellbäume in Verzeichnissen mit demselben Namen zu speichern, da die Quellbäume letztendlich ein Ausgabeverzeichnis gemeinsam nutzen und unvorhersehbare Ergebnisse erzielen. Dies wird nur auf Jelly Bean unterstützt (4.1) und höher, einschließlich dem master - Zweig.

Einrichten einer MacOS-Build-Umgebung

In einer Standardinstallation wird macOS auf einem Dateisystem ausgeführt, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird. Diese Art von Dateisystem wird von Git nicht unterstützt und führt dazu, dass sich einige Git-Befehle (z. B. der git status ) abnormal verhalten. Aus diesem Grund empfehlen wir, dass Sie immer mit den AOSP-Quelldateien in einem Dateisystem arbeiten, bei dem zwischen Groß- und Kleinschreibung unterschieden wird. Dies kann ziemlich einfach unter Verwendung eines Disk-Images erfolgen, das unten diskutiert wird.

Wenn das richtige Dateisystem verfügbar ist, ist das master Hauptzweigs in einer modernen macOS-Umgebung unkompliziert. Frühere Zweige erfordern einige zusätzliche Tools und SDKs.

Erstellen eines Disk-Images mit Groß- und Kleinschreibung

Sie können ein Dateisystem mit Groß- und Kleinschreibung in Ihrer vorhandenen macOS-Umgebung mithilfe eines Disk-Images erstellen. Um das Image zu erstellen, starten Sie das Festplatten-Dienstprogramm und wählen Sie Neues Image . Eine Größe von 250 GB ist das Minimum, um den Build abzuschließen. Mehr Platz ist am besten für zukünftiges Wachstum. Die Verwendung spärlicher Bilder spart Platz und ermöglicht bei Bedarf Wachstum. Wählen Sie Groß- und Kleinschreibung als Journalformat .

Sie können das Dateisystem auch mit dem folgenden Befehl aus einer Shell erstellen:

hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 250g ~/android.dmg.sparseimage

Dadurch wird eine .dmg.sparseimage Datei erstellt, die beim .dmg.sparseimage als Laufwerk mit der für die Android-Entwicklung erforderlichen Formatierung fungiert.

Wenn Sie später ein größeres Volume benötigen, können Sie die Größe des spärlichen Bildes mit dem folgenden Befehl ändern:

hdiutil resize -size <new-size-you-want>g ~/android.dmg.sparseimage

Für ein Disk-Image mit dem Namen android.dmg.sparseimage das in Ihrem Home-Verzeichnis gespeichert ist, können Sie ~/.bash_profile :

  • So mounten Sie das Image, wenn Sie mountAndroid ausführen:
    # mount the android file image
    mountAndroid() { hdiutil attach ~/android.dmg.sparseimage -mountpoint /Volumes/android; }
  • So umountAndroid Sie die umountAndroid wenn Sie umountAndroid ausführen:
    # unmount the android file image
    umountAndroid() { hdiutil detach /Volumes/android; }

Nachdem Sie das android Volume gemountet haben, erledigen Sie dort Ihre gesamte Arbeit. Sie können es wie ein externes Laufwerk auswerfen (aushängen).

Xcode und andere Pakete installieren

  1. Installieren Sie die Xcode-Befehlszeilentools:
    xcode-select --install
    Für ältere Versionen von macOS (10.8 oder niedriger) müssen Sie Xcode von der Apple-Entwicklerseite installieren. Wenn Sie nicht als Apple-Entwickler registriert sind, müssen Sie zum Herunterladen eine Apple-ID erstellen.
  2. Installieren Sie entweder MacPorts oder Homebrew für die Paketverwaltung.
  3. Stellen Sie sicher, dass sich das zugehörige Verzeichnis in Ihrem Pfad in Ihrer ~/.bash_profile Datei befindet:
    1. MacPorts - /opt/local/bin muss vor /usr/bin :
      export PATH=/opt/local/bin:$PATH
      stehen
    2. Homebrew - /usr/local/bin :
      export PATH=/usr/local/bin:$PATH
    3. Für MacPorts gilt Folgendes:
      POSIXLY_CORRECT=1 sudo port install git gnupg
    4. Für Homebrew Ausgabe:
      brew install git gnupg2

    Festlegen eines Dateideskriptorlimits

    Unter macOS ist das Standardlimit für die Anzahl der gleichzeitig geöffneten Dateideskriptoren zu niedrig, und ein hochparalleler Erstellungsprozess kann dieses Limit überschreiten. ~/.bash_profile Ihrem ~/.bash_profile die folgenden Zeilen hinzu, um die ~/.bash_profile :

    # set the number of open files to be 1024
    ulimit -S -n 1024

    Weiter: Laden Sie die Quelle herunter

    Ihre Build-Umgebung ist gut zu gehen! Fahren Sie mit dem Herunterladen der Quelle fort .