Einrichten einer Build-Umgebung

In diesem Abschnitt wird beschrieben, wie Sie Ihre lokale Arbeitsumgebung einrichten, um die Android-Quelldateien zu erstellen. Sie müssen Linux verwenden; Das Erstellen unter MacOS oder Windows wird nicht unterstützt. Halten Sie die wichtigen Änderungen der in Geist /usr/bin/python binär als auch.

Für einen Überblick über den gesamten Code-Überprüfung und Code-Update - Prozess finden Sie das Leben eines Patches .

Eine Filiale wählen

Einige Anforderungen an die Buildumgebung werden durch die Version des Quellcodes bestimmt, den Sie kompilieren möchten. Für eine vollständige Liste der verfügbaren Filialen finden Sie Build - Nummern . Sie können hier auch die neuesten Quellcode (genannt zum Download wählen und bauen master ), in dem Fall , dass Sie einfach den Zweig Spezifikation weglassen , wenn Sie das Repository initialisieren.

Befolgen Sie nach der Auswahl eines Branchs die entsprechenden Anweisungen unten, um Ihre Build-Umgebung einzurichten.

Einrichten einer Linux-Build-Umgebung

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

Der Android-Build wird routinemäßig intern auf 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 libncurses5 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 libncurses5 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 Android-Versionen zu erstellen. Version 12.04 nicht auf unterstützten master oder Neue Releases.

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 Aufbauen auf Ubuntu 10.04-11.10 wird nicht mehr unterstützt, kann aber zum Erstellen älterer Versionen von AOSP nützlich 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-Zugriff konfigurieren

Installieren Sie eine Community gepflegt Standardsatz von udev - Regeln für alle Android - Geräte gemäß den Anweisungen zum Einrichten einer Vorrichtung zur Entwicklung .

Verwenden eines separaten Ausgabeverzeichnisses

Standardmäßig wird der Ausgang jeden Build in dem gespeicherten out/ Unterverzeichnis des passenden Quellbaumes.

Auf einigen Maschinen 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 auf einem auf Geschwindigkeit optimierten Dateisystem gespeichert werden, anstatt auf Crash-Robustheit, da alle Dateien neu generiert werden können, wenn das Dateisystem beschädigt ist.

Um dies einzurichten, exportieren Sie die OUT_DIR_COMMON_BASE Variable Punkt an der Stelle , wo die Ausgabe Verzeichnisse gespeichert werden.

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

Das Ausgabeverzeichnis für jeden separaten Quellbaum wird nach dem Verzeichnis benannt, das den Quellbaum enthält. Zum Beispiel, wenn Sie Quellbäume /source/master1 und /source/master2 und wenn OUT_DIR_COMMON_BASE eingestellt ist /output sind die Ausgabeverzeichnisse /output/master1 und /output/master2 .

Vermeiden Sie es, mehrere Quellbäume in Verzeichnissen mit demselben Namen zu speichern, da die Quellbäume ein Ausgabeverzeichnis mit unvorhersehbaren Ergebnissen teilen würden. Dies wird nur auf Jelly Bean unterstützt (4.1) und höher, einschließlich dem master - Zweig.

Weiter: Laden Sie die Quelle herunter

Ihre Build-Umgebung ist startklar! Fahren Sie mit der Quelle herunterzuladen .