Für die Verwendung von virtuellen Android-Geräten (Android Virtual Devices, AVDs) unterstützt der Android Emulator eine grafische Benutzeroberfläche (Graphical User Interface, GUI) und eine Befehlszeilenschnittstelle (Command Line Interface, CLI). Sie wählen den optimalen Workflow für Ihre Umgebung aus.
- Die GUI zum Erstellen und Verwalten virtueller Geräte ist ein unkompliziertes Tool, das den meisten App-Entwicklern und Nutzern zur Verfügung steht.
- Der Emulator über die Befehlszeile bietet erfahrenen Nutzern und für die Automatisierung eine flexible Möglichkeit. Beispielsweise zum Verwenden mehrerer AVDs oder zum Einrichten von kontinuierlichem Testen und kontinuierlicher Integration. Informationen zu den ersten Schritten finden Sie in den Beispielen in den Tools).
AOSP-AVD für Fahrzeuge erstellen
Der Vorgang zum Erstellen eines AOSP-AVD für Fahrzeuge ähnelt dem Erstellen von AVD-Images für ein Smartphone (z. B. aosp_car_x86_64):
- Informationen zum Einrichten der Entwicklungsumgebung und zum Auswählen eines Branch finden Sie unter
Tools für die Quellcodeverwaltung. Lesen Sie dann
Android-Quellcode herunterladen:
ANDROID_BRANCH="android12L-release"
REPO_URL="https://android.googlesource.com/platform/manifest"
mkdir $ANDROID_BRANCH && cd $ANDROID_BRANCH && repo init -u $REPO_URL -b $ANDROID_BRANCH --partial-clone && repo sync -c -j8 - AVD-Image erstellen:
. build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
- AVD-Image ausführen (fügen Sie bei Bedarf zusätzliche Befehlszeilen-Startoptionen
an):
emulator &
Beispiel:

Abbildung 1 : Bildschirm des Android Virtual Emulator
Hinweise zu diesem Vorgang:
- Da der Build-Prozess derselbe ist wie beim Erstellen von Android für ein physisches Gerät, sollten Sie etwas Zeit einplanen, um den Quellcode herunterzuladen und dann zu erstellen.
- Wenn Sie an anderen Branches arbeiten möchten, legen Sie für
$ANDROID_BRANCHeinen anderen Branch/Tag fest. - AVD-Images wie
system.imgwerden unter$ANDROID_PRODUCT_OUTerstellt. Weitere Informationen zu wichtigen Images finden Sie unter AVD Systemverzeichnis. - In der README-Datei erfahren Sie, wie die vorkompilierten Emulator-Binärdateien in Ihrem Android-Baum verwendet werden, um den Emulator auszuführen.
AVD für Fahrzeuge erstellen
Das Hinzufügen eines neuen AVD für Fahrzeuge ist fast identisch mit
dem Hinzufügen eines neuen Geräts. Beispiel: Mit
1660554
wird ein neuer avd_car AVD erstellt.
So erstellen Sie einen AVD für Fahrzeuge:
- Erstellen Sie bei Bedarf einen Ordner für das Unternehmen und einen Geräteordner. In diesem Beispiel wird
$ANDROID_BUILD_TOP/device/google_car/avd_carverwendet. - Erstellen Sie die Produkt-Makefile-Datei
avd_car.mk, in der definiert wird, wie der AVD erstellt werden soll. - Erstellen Sie einen Geräteordner
avd_car_device, derBoardConfig.mkundsource.propertiesenthält. - Fügen Sie
AndroidProducts.mkdie neuemakefileund die neuelunchAuswahl hinzu. - So erstellen und führen Sie den neuen
avd_car-AVD aus:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
AVD-Image-ZIP-Datei packen
Sie können Ihren AVD packen und für andere freigeben oder ihn auf einem anderen Computer verwenden. Verwenden Sie emu_img_zip.mk
, um die AVD-Image-ZIP-Datei zu generieren:
- Nachdem Sie den AVD erstellt haben, legen Sie
emu_img_zipals Ziel fest:m emu_img_zip
- Die AVD-Image-ZIP-Datei mit dem Präfix
sdk-repo-linux-system-imageswird im Ordner$ANDROID_PRODUCT_OUTerstellt.
AVD-Kernel erstellen
AVD-Kernel ähneln anderen Android-Kerneln, da es sich bei allen um vorkompilierte Images handelt. Normalerweise können Sie die vorkompilierten Standard-Goldfish-Kernel-Images aus jeder Android-Version unverändert verwenden.
So testen Sie Kernel-Änderungen:
- Führen Sie die folgenden Anweisungen aus:
mkdir goldfish-kernel-54 cd goldfish-kernel-54 repo init -u https://android.googlesource.com/kernel/manifest -b common-android11-5.4 repo sync BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh BUILD_CONFIG=common-modules/virtual-device/build.config.goldfish.x86_64 build/build.sh ls -l ./out/android11-5.4/dist/
- Ersetzen Sie die Kernel-Binärdatei im Quellcode gemäß der AVD-Makefile-Datei. Beispiel:
device/generic/goldfish/board/emu64x/details.mkenthältdevice/generic/goldfish/board/kernel/x86_64.mk.
Der Kernel-Code und die Konfiguration befinden sich an folgenden Speicherorten:
| Element | Wert |
|---|---|
| Branch | common-android11-5.4 (in Android 11 verwendet) |
| Manifest | kernel/manifest/common-android11-5.4 |
| common-modules/virtual-device | kernel/common-modules/virtual-device/android11-5.4 |
| Kernel | kernel/common/android11-5.4 |
Neues Geräteprofil erstellen
Informationen dazu, wie Nutzer im AVD Manager von Android Studio einen bestimmten AVD erstellen können, finden Sie unter
Virtuelle Geräte erstellen und verwalten.
Gerätehersteller können eigene Hardwarespezifikationen wie Bildschirmgröße und DPI über eine devices.xml-Datei definieren, die im AVD-Image enthalten ist.
- Ein Beispiel finden Sie in den Geräteprofilen für Fahrzeuge in
automotive.xml. - Für die HMI-Entwicklung oder Prototypenerstellung können der Datei mehrere Geräte für dasselbe AVD-Image hinzugefügt werden.
- Fügen Sie die Datei im Ordner
[ABI]der OEM-AVD-Image-ZIP-Datei hinzu. Beispiel:x86_64. - Gerätehersteller können auch eine Emulator-Skin erstellen. Beispielsweise, um zusätzliche Hardwaretasten für eine bessere UX zu definieren. Das ist nicht nur für Entwickler-Workflows nützlich, sondern auch für andere Aufgaben wie UX-Recherche und ‑Überprüfung.
XML-Datei für AVD-Image erstellen
Gerätehersteller können eine XML-Datei für AVD-Images erstellen, damit Android Studio sie herunterladen kann.
- Ein Beispiel finden Sie in der XML-Datei für AAOS-AVD-Images:
sys-img2-1.xml. - Gerätehersteller können eine eigene OEM-AVD-Lizenzvereinbarung für ihre Zielnutzer definieren (nach dem Ehrlichkeitssystem), mit der Lizenz für den Android Emulator. Android Studio holt die Zustimmung der Nutzer ein, wenn eine solche Lizenz enthalten ist.
So erstellen Sie das Image:
- Bereiten Sie eine AVD-Image-ZIP-Datei vor.
- Entpacken Sie
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip. - Fügen Sie
devices.xmldem Ordnerx86_64hinzu und komprimieren Sie die Datei dann in einer ZIP-Datei. Beispiel:oem_avd_img_x86_64.zip. - Aktualisieren Sie
oem-sys-img2-1.xml. - Aktualisieren Sie den Namen, die Größe und den SHA-Summenwert der ZIP-Datei (Beispiel-XML-Dateien finden Sie in
tools).
Informationen zum Hosten des AVD in Google Cloud Storage, finden Sie unter Storage-Buckets erstellen.
Informationen zum Hochladen und öffentlichen Zugänglichmachen des AVD finden Sie unter Daten öffentlich machen:
BUCKET_NAME="aaos-avd" gsutil mb gs://$BUCKET_NAME gsutil cp oem_avd_img_x86_64.zip gs://$BUCKET_NAME gsutil cp oem-sys-img2-1.xml gs://$BUCKET_NAME gsutil iam ch allUsers:objectViewer gs://$BUCKET_NAME
Das URL-Format für das AVD-Image-SDK-Add-on lautet: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml.
Wenn der BUCKET_NAME beispielsweise aaos-avd ist, lautet die URL: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml.
AVD-Image für Android Studio-Nutzer freigeben
Damit Ihre Nutzer AVD-Images herunterladen und Ihren AVD mit Android Studio verwenden können, können Sie eine XML-Datei für das SDK-Add-on bereitstellen. Weitere Informationen finden Sie unter IDE und SDK-Tools aktualisieren.
So laden Sie den AVD aus dem Netzwerk herunter:
- Hosten Sie die Image-ZIP-Datei und die XML-Dateien auf einem Server.
- Geben Sie die URL für Ihre Zielnutzer an.
- (Optional) Beschränken Sie den Zugriff nach Nutzername und Passwort.
Alternativ können Sie den AVD in ein lokales Verzeichnis herunterladen, um die Entwicklung zu beschleunigen:
- Speichern Sie die XML-Dateien und alle in der XML-Datei angegebenen Artefakte in einem Ordner
(z. B. alle AVD-Image-ZIP-Dateien) mit dem Namen
ADDON_DIR. - Geben Sie die URL als
file://$ADDON_DIR/oem-sys-img2-1.xmlan.