Wenn Sie Android Virtual Devices (AVDs) verwenden möchten, Android-Emulator unterstützt eine grafische Benutzeroberfläche (GUI) und eine Befehlszeile (Command Line Interface, CLI). Sie wählen die für Ihre Umgebung zu optimieren.
- Virtuelle Geräte erstellen und verwalten Die GUI ist ein einfaches Tool, das den meisten App-Entwicklern und -Nutzern zur Verfügung steht.
- Emulator starten über die Befehlszeile bietet eine flexible Möglichkeit für Poweruser und Automatisierung. Um beispielsweise mehrere AVDs oder kontinuierliche Tests und Continuous Integration einrichten. Erste Schritte finden Sie unter die Beispiele in Tools).
Starten Sie ein AOSP Car AVD mit vorgefertigten
Wenn du das vorgefertigte AOSP Car AVD schnell starten und testen möchtest, verwende ein Open-Source-Script zum Herunterladen
und starten Sie einen Emulator-Build
ci.android.com
Das Skript wurde für
macOS und Linux
Für dieses Script benötigen Sie Curl.
So führen Sie das Skript aus:
- Kopieren Sie die
launch_emu.sh
Skriptinhalte in Ihre lokale Datei einfügen, vorausgesetzt, Sie verwendenlaunch_emu.sh
als den Namen der lokalen Datei. - Machen Sie das lokale Skript ausführbar. Führen Sie beispielsweise
chmod +x ./launch_emu.sh
aus. - Prüfen Sie die verfügbaren Optionen, indem Sie das Skript mit
./launch_emu.sh -h
ausführen. - Rufen Sie unter
ci.android.com
dieaosp-main-throttled
und wählen Sie einen aktuellen Build aus, in demsdk_car_x86_64
ist grün. Beispiel: 11370359. Wenn Sie Build nicht sehen, melden Sie sich von Ihrem Google-Konto ab und versuchen Sie es noch einmal. - Laden Sie die für den Emulator relevanten Binärdateien herunter und installieren Sie sie mit der Build-ID. Beispiel:
./launch_emu.sh -i -a 11370359
- Anschließend können Sie
./launch_emu.sh
verwenden, um die heruntergeladene und installierte Anwendung zu starten. Emulator (verwenden Sie nicht die Optionen-i
oder-a
). - Um eine weitere Build-ID herunterzuladen und zu installieren, führen Sie
./launch_emu.sh -c
aus, um Ihre Arbeitsbereich und wiederholen Sie dann Schritt 4 und Schritt 5 oben.
Android-Emulator angeben
Startoptionen der Befehlszeile
beim Starten des Emulators die Option -v
. Hier einige Beispiele:
./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"
AOSP Car AVD bauen
Der Prozess zur Erstellung eines AOSP Car AVD ähnelt dem AVD-Bilder für ein Smartphone erstellen (z. B. aosp_car_x86_64):
- Informationen zum Einrichten der Entwicklungsumgebung und zum Identifizieren eines Zweigs finden Sie unter
Source Control Tools: Prüfen Sie dann
Quelle 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 - Erstellen Sie das AVD-Image:
. build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
- Führen Sie das AVD-Image aus (zusätzliche Startoptionen der Befehlszeile anhängen)
nach Bedarf):
emulator &
Beispiel:
Abbildung 1: Bildschirm für den virtuellen Android-Emulator
Hinweise zu diesem Vorgang:
- Weil der Build-Prozess mit dem für die Entwicklung von Android übereinstimmt für ein physisches Gerät haben, müssen Sie einige Zeit warten, um die Quelle herunterzuladen und anschließend zu erstellen.
- Wenn Sie mit anderen Zweigen arbeiten möchten, setzen Sie
$ANDROID_BRANCH
auf einen anderen branch/tag angeben. - AVD-Bilder wie
system.img
werden mit$ANDROID_PRODUCT_OUT
erstellt. Weitere Informationen zu wichtigen Images finden Sie unter AVD Systemverzeichnis. - Weitere Informationen finden Sie in der README-Datei, um zu erfahren, wie die Binärdateien des vordefinierten Emulators in Ihrer Android-Baumstruktur für Folgendes verwendet werden: führen Sie den Emulator aus.
Auto-AVD erstellen
Das Hinzufügen einer neuen AVD ist fast identisch mit
Neues Gerät hinzufügen Beispiel:
1660554
erstellt eine neue avd_car
-AVD.
So erstellen Sie eine Auto-AVD:
- Erstellen Sie nach Bedarf ein Unternehmen und einen Geräteordner. In diesem Beispiel wird
$ANDROID_BUILD_TOP/device/google_car/avd_car
- Erstellen Sie das Produkt-Makefile „
avd_car.mk
“. Damit wird definiert, wie das AVD erstellt wird. - Erstellen Sie den Geräteordner „
avd_car_device
“, in dem der Ordner gespeichert werden sollBoardConfig.mk
undsource.properties
. - Fügen Sie die neue
makefile
und die neuelunch
-Auswahl zuAndroidProducts.mk
- So erstellen Sie das neue
avd_car
-AVD und führen es aus:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
ZIP-Datei mit AVD-Bild packen
Du kannst dein AVD verpacken und mit anderen teilen oder mit einem anderen verwenden
Computer. emu_img_zip.mk
verwenden
, um die ZIP-Datei mit dem AVD-Bild zu generieren:
- Nachdem Sie das AVD erstellt haben, legen Sie
emu_img_zip
als Ziel fest:m emu_img_zip
- Die ZIP-Datei mit dem AVD-Bild mit dem Präfix
sdk-repo-linux-system-images
ist die im Ordner$ANDROID_PRODUCT_OUT
erstellt wurden.
AVD-Kernel erstellen
AVD-Kernels ähneln anderen Android-Kerneln insofern, als alle vorgefertigte Images sind. Normalerweise können Sie die vordefinierten Standard-Images für Goldfischkerne für jede Android-Version.
So experimentieren Sie mit Kernel-Änderungen:
- Führen Sie die folgenden Schritte 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 in der Codebasis entsprechend dem AVD-Makefile. Beispiel:
x86_64-vendor.mk
enthältx86_64-kernel.mk
.
Der Kernel-Code und die Kernel-Konfiguration befinden sich so:
Artikel | Wert |
---|---|
Branch | common-android11-5.4 (in Android 11 verwendet) |
Manifest | kernel/manifest/common-android11-5.4 |
gemeinsame-module/virtuelles-gerät | kernel/common-modules/virtual-device/android11-5.4 |
Kernel | kernel/common/android11-5.4 |
Neues Geräteprofil erstellen
Informationen zum Erstellen einer bestimmten AVD im AVD-Manager in Android Studio findest du unter
Virtuelle Geräte erstellen und verwalten
Gerätehersteller können ihre eigenen
Hardwarespezifikationen definieren, z. B. für Bildschirmgröße und DPI-Wert,
durch Verwendung einer devices.xml
-Datei im AVD-Bild.
- Sieh dir beispielsweise die Profile für Automobilgeräte in
automotive.xml
an. - Für die HMI-Entwicklung oder das Prototyping können dem für dasselbe AVD-Bild.
- Lege die Datei in der ZIP-Datei mit der OEM-AVD-Bilddatei im Ordner
[ABI]
ab. Beispiel:x86_64
. - Gerätehersteller können auch ein Emulator-Skin. Zum Beispiel, um zusätzliche Hardwaretasten für eine höhere UX zu definieren. Dies ist nicht nur für Entwicklungs-Workflows nützlich, sondern auch für andere Aufgaben wie die UX-Forschung und überprüfen.
AVD-Bild-XML-Datei erstellen
Gerätehersteller können eine AVD-Bild-XML-Datei für Android Studio erstellen und herunterladen .
- Sehen Sie sich als Beispiel die AAOS-AVD-Bild-XML-Datei
sys-img2-1.xml
an. - Gerätehersteller können eine eigene OEM-AVD-Lizenzvereinbarung für ihre Zielnutzer definieren. (Nutzung des Ehrensystems) mit der Lizenz für Android Emulator. Android-Geräte Studio erhält den Konsens der Nutzer, wenn eine solche Lizenz enthalten ist.
So erstellen Sie das Image:
- Bereiten Sie eine ZIP-Datei mit dem AVD-Bild vor.
- Entpacken Sie
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip
. - Fügen Sie
devices.xml
dem Ordnerx86_64
hinzu und komprimieren Sie die Datei im als Zip-Datei. Beispiel:oem_avd_img_x86_64.zip
. oem-sys-img2-1.xml
aktualisieren.- Aktualisieren Sie den Namen, die Größe und das Shasum der ZIP-Datei (Beispiel-XML-Dateien finden Sie in
tools
.
Um die AVD beispielsweise in Google Cloud Storage zu hosten, Siehe Erstellen von Storage-Buckets
Informationen zum Hochladen und öffentlich zugänglichen AVD findest du 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 des AVD Image SDK-Add-ons lautet: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml
.
Wenn BUCKET_NAME beispielsweise "aaos-avd" ist, lautet die URL https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml
.
AVD-Bild mit Android Studio-Nutzern teilen
Damit Ihre Nutzer AVD-Bilder herunterladen und das AVD von Android Studio verwenden können, haben Sie folgende Möglichkeiten: eine SDK-Add-on-XML-Datei bereitstellen. Weitere Informationen finden Sie unter Aktualisieren Sie die IDE und die SDK-Tools.
So lädst du das AVD aus dem Netzwerk herunter:
- Hosten Sie die ZIP-Datei und die XML-Dateien auf einem Server.
- Stellen Sie den Zielnutzern die URL zur Verfügung.
- Optional: Beschränken Sie den Zugriff anhand von Nutzernamen und Passwort.
Alternativ können Sie das AVD in ein lokales Verzeichnis herunterladen, um die Entwicklung zu beschleunigen:
- Speichere die XML-Dateien und alle in der XML-Datei angegebenen Artefakte in einem Ordner
(zum Beispiel alle ZIP-Dateien mit AVD-Bilddateien) mit dem Namen
ADDON_DIR
. - Gib die URL als
file://$ADDON_DIR/oem-sys-img2-1.xml
an.