Folgen Sie der Anleitung auf dieser Seite, um Android zu erstellen.
Build-Umgebung einrichten
Ermitteln Sie aus Ihrem Arbeitsverzeichnis das festzulegende Skript envsetup.sh
.
Ihre Build-Umgebung einrichten:
source build/envsetup.sh
Dieses Skript importiert mehrere Befehle, mit denen Sie mit der Android-App
einschließlich der auf dieser Seite verwendeten Befehle. Um die Quelle der
Skript erstellt haben, siehe
platform/build/envsetup.sh
Geben Sie hmm
ein, um die integrierte Hilfe aufzurufen.
Ziel auswählen
Bevor Sie Android entwickeln, müssen Sie ein Ziel für die Entwicklung identifizieren. Ziel
die Zielplattform widerspiegelt, für die Sie entwickeln. Zur Identifizierung Ihrer
erstellen möchten, verwenden Sie den Befehl lunch
, gefolgt von einem String, der
das Ziel zu erreichen. Beispiel:
lunch aosp_cf_x86_64_phone-trunk_staging-userdebug
Aktuelles Ziel ansehen
Führen Sie folgenden Befehl aus, um die aktuellen Einstellungen für das Mittagessen aufzurufen:
echo "$TARGET_PRODUCT-$TARGET_RELEASE-$TARGET_BUILD_VARIANT"
Der String, der das Ziel darstellt, hat folgendes Format:
lunch product_name-release-build_variant
Die Komponenten dieses Strings sind:
product_name ist der Name des Produkts, das Sie verwenden möchten. Build an, z. B.
aosp_cf_x86_64_phone
oderaosp_husky
. Ihre spezifischen product_name kann dein eigenes Format für dein Gerät verwenden, Das Format, das Google für seine Geräte verwendet, hat jedoch folgende Komponenten:aosp
bezieht sich auf die Open-Source-Plattform von Android.- (optional)
cf
wird eingeschlossen, wenn das Ziel innerhalb des Bereichs ausgeführt werden soll, Tintenfisch-Emulator - Architektur und Hardware (Codename), z. B.
x86_64_phone
oderhusky
das ist der Codename für Pixel 8 Pro. Zur Liste der Codenamen für Google Geräte finden Sie unter Geräte-Codenamen:
release ist auf
trunk_staging
gesetzt.Der build_variant-Teil des Strings kann einer der folgenden sein: die drei Werte in der folgenden Tabelle:
build_variant Beschreibung user
Diese Build-Variante bietet eingeschränkten Sicherheitszugriff und eignet sich für die Produktion. userdebug
Diese Build-Variante hilft Geräteentwicklern dabei, die Leistung und Leistungsfähigkeit von Releases in der Entwicklungsphase zu verstehen. Halten Sie sich bei der Entwicklung mit einem userdebug
-Build an die Richtlinien für die Fehlerbehebung von Nutzern.eng
Diese Build-Variante hat eine schnellere Build-Dauer und eignet sich am besten für die tägliche Entwicklung, wenn Leistung und Leistung keine Rolle spielen.
Wenn Sie lunch
ohne Argumente ausführen, wird eine Liste gemeinsamer Ziele bereitgestellt.
Sie können auch Ihre eigenen Zielstrings erstellen, indem Sie die Elemente eines
Zielstring mit den Informationen auf dieser Seite und den Codenamen
die für die spezifische Google-Hardware
Geräte-Codenamen:
Code erstellen
Führen Sie den folgenden Befehl aus, um das Ziel zu erstellen. Je nach Spezifikation Ihrer Workstation kann der erste Build weniger als eine Stunde dauern, einige Stunden. Nachfolgende Builds nehmen deutlich weniger Zeit in Anspruch.
$ m
Die erste Ausgabe, die Sie sehen sollten, ist eine Zusammenfassung Ihres Ziels Umgebung:
============================================
PLATFORM_VERSION_CODENAME=VanillaIceCream
PLATFORM_VERSION=VanillaIceCream
PRODUCT_INCLUDE_TAGS=com.android.mainline
TARGET_PRODUCT=aosp_arm
TARGET_BUILD_VARIANT=eng
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=generic
HOST_OS=linux
HOST_OS_EXTRA=Linux-6.5.13-1rodete2-amd64-x86_64-Debian-GNU/Linux-rodete
HOST_CROSS_OS=windows
BUILD_ID=AOSP.MAIN
OUT_DIR=out
============================================
Die Ausgabe Ihres Builds wird in $OUT_DIR
angezeigt. Wenn Sie
unterschiedliche Ziele erstellen, wird jeder Build in
$OUT_DIR
Der Befehl m
wird oben in der Baumstruktur erstellt, sodass Sie m
innerhalb von
Unterverzeichnisse Wenn Sie die Umgebungsvariable TOP
festgelegt haben, führt der Befehl m
verwendet. Ist TOP
nicht festgelegt, sucht der m
-Befehl die Baumstruktur im
im aktuellen Verzeichnis und versuchen, den Anfang der Baumstruktur zu finden.
Der Befehl m
kann parallele Aufgaben mit einem -jN
-Argument verarbeiten. Wenn Sie keine
-j
-Argument bereitstellen, wählt das Build-System automatisch eine parallele Aufgabe aus.
die für Ihr System als optimal erachtet wird.
Du kannst statt des vollständigen Geräte-Images nur bestimmte Module erstellen, indem du
Modulnamen in die m
-Befehlszeile eingeben. Außerdem liefert der Befehl m
einige Pseudoziele, sogenannte Ziele. Beispiel: m nothing
erstellt keine
die Build-Struktur parst und validiert. Eine Liste gültiger
Zielvorhaben, geben Sie m help
ein.
Build-Fehler beheben (8.0 oder früher)
Wenn Sie AOSP 8 oder eine frühere Version erstellen, wird m
möglicherweise abgebrochen, wenn eine
Probleme mit Ihrer Java-Version auftreten. Sie erhalten beispielsweise folgende Meldung:
************************************************************
You are attempting to build with the incorrect version
of java.
Your version is: WRONG_VERSION.
The correct version is: RIGHT_VERSION.
Please follow the machine setup instructions at
https://source.android.com/source/initializing.html
************************************************************
Mögliche Ursachen und Lösungen:
- Sie konnten nicht das richtige JDK installieren, wie in den JDK-Abschnitte von Für die AOSP-Entwicklung einrichten (2.3 bis 8.0)
- In Ihrem Pfad erscheint ein anderes zuvor installiertes JDK. Stellen Sie dem Korrigieren Sie das JDK am Anfang des Pfads oder entfernen Sie das problematische JDK.