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:
Laden Sie die aktuellen Paketinformationen herunter:
$ sudo apt-get update
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.
(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.
Ü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