Für die Verwendung virtueller Android-Geräte (AVDs) unterstützt der Android Emulator eine grafische Benutzeroberfläche (GUI) und eine Befehlszeile (CLI). Sie wählen den optimalen Workflow für Ihre Umgebung aus.
- Virtuelle Geräte erstellen und verwalten Die Benutzeroberfläche ist ein einfaches Tool, das für die meisten App-Entwickler und ‑Nutzer zur Verfügung steht.
- Das Starten des Emulators über die Befehlszeile bietet eine flexible Möglichkeit für erfahrene Nutzer und Automatisierung. Sie können beispielsweise mehrere AVDs verwenden oder kontinuierliche Tests und Continuous Integration einrichten. Sehen Sie sich zum Einstieg die Beispiele unter Tools an.
AOSP Car AVD mit vorgefertigtem Image starten
Wenn Sie eine vorkonfigurierte AOSP Car AVD schnell starten und testen möchten, können Sie mit einem Open-Source-Script einen Emulator-Build von ci.android.com
herunterladen und starten. Das Script wurde unter macOS und Linux getestet.
Sie benötigen Curl, um dieses Script zu verwenden.
So führen Sie das Script aus:
- Kopieren Sie den Inhalt des Scripts
launch_emu.sh
in die lokale Datei, vorausgesetzt, Sie verwendenlaunch_emu.sh
als lokalen Dateinamen. - Machen Sie Ihr lokales Script ausführbar. Führen Sie beispielsweise
chmod +x ./launch_emu.sh
aus. - Führen Sie das Script mit
./launch_emu.sh -h
aus, um die verfügbaren Optionen zu prüfen. - Rufe auf
ci.android.com
den Branchaosp-main-throttled
auf und wähle einen aktuellen Build aus, bei demsdk_car_x86_64
grün ist. Beispiel: 11370359. Wenn Sie keine Build-Informationen 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 mit der Build-ID herunter und installieren Sie sie. Beispiel:
./launch_emu.sh -i -a 11370359
. - Anschließend können Sie den heruntergeladenen und installierten Emulator mit
./launch_emu.sh
starten. Verwenden Sie dazu nicht die Optionen-i
oder-a
. - Wenn Sie eine andere Build-ID herunterladen und installieren möchten, führen Sie
./launch_emu.sh -c
aus, um Ihren Arbeitsbereich zu bereinigen, und wiederholen Sie dann die Schritte 4 und 5 oben.
Wenn Sie beim Starten des Emulators Befehlszeilenstartoptionen für den Android-Emulator angeben möchten, verwenden Sie die Option -v
. Beispiel:
./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"
AOSP Car AVD erstellen
Das Erstellen einer AOSP Car-AVD ähnelt dem Erstellen von AVD-Images für ein Smartphone (z. B. aosp_car_x86_64):
- Informationen zum Einrichten der Entwicklungsumgebung und zum Festlegen eines Branches finden Sie unter Tools zur Versionskontrolle. Sehen Sie sich dann Herunterladen der Quelle an:
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
- Führen Sie das AVD-Image aus. Fügen Sie bei Bedarf zusätzliche Befehlszeilenstartoptionen an:
emulator &
Beispiel:
Abbildung 1: Bildschirm des virtuellen Android-Emulators
Hinweise zu diesem Vorgang:
- Da der Build-Prozess dem für die Erstellung von Android für ein physisches Gerät entspricht, benötigen Sie etwas Zeit, um die Quelle herunterzuladen und dann zu erstellen.
- Wenn Sie an anderen Branches arbeiten möchten, legen Sie
$ANDROID_BRANCH
auf einen anderen Branch/Tag fest. - AVD-Images wie
system.img
werden unter$ANDROID_PRODUCT_OUT
erstellt. Weitere Informationen zu Schlüsselbildern finden Sie im AVD-Systemverzeichnis. - In der README-Datei erfahren Sie, wie die vorkonfigurierten Emulator-Binärdateien in Ihrem Android-Baum zum Ausführen des Emulators verwendet werden.
AVD für Auto erstellen
Das Hinzufügen eines neuen AVD für ein Auto ist fast identisch mit dem Hinzufügen eines neuen Geräts. Mit 1660554
wird beispielsweise eine neue avd_car
-AVD erstellt.
So erstellen Sie eine AVD für Autos:
- Erstellen Sie nach Bedarf einen Ordner für das Unternehmen und einen für das Gerät. In diesem Beispiel wird
$ANDROID_BUILD_TOP/device/google_car/avd_car
verwendet. - Erstellen Sie das Produkt-Makefile
avd_car.mk
, in dem festgelegt wird, wie die AVD erstellt wird. - Erstellen Sie einen Geräteordner mit dem Namen
avd_car_device
, derBoardConfig.mk
undsource.properties
enthält. - Fügen Sie
AndroidProducts.mk
die neuemakefile
- und die neuelunch
-Auswahl hinzu. - So erstellen und führen Sie die neue
avd_car
-AVD aus:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
AVD-Image-ZIP-Datei verpacken
Sie können Ihre AVD verpacken und für andere freigeben oder auf einem anderen Computer verwenden. Verwenden Sie emu_img_zip.mk
, um die ZIP-Datei des AVD-Images zu generieren:
- Nachdem Sie die AVD erstellt haben, legen Sie
emu_img_zip
als Ziel fest:m emu_img_zip
- Die ZIP-Datei des AVD-Images mit dem Präfix
sdk-repo-linux-system-images
wird im Ordner$ANDROID_PRODUCT_OUT
erstellt.
AVD-Kernel erstellen
AVD-Kernel ähneln anderen Android-Kerneln, da sie alle vorgefertigte Images sind. Normalerweise können Sie die vorkonfigurierten Images des Standard-Goldfish-Kernels aus jeder Android-Version unverändert verwenden.
So testen Sie 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 das Kernel-Binary in der Codebasis gemäß dem AVD-Makefile. Beispiel:
x86_64-vendor.mk
enthältx86_64-kernel.mk
.
Der Kernelcode und die Konfiguration befinden sich hier:
Artikel | 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 |
Ploppendes Popcorn | kernel/common/android11-5.4 |
Neues Geräteprofil erstellen
Informationen dazu, wie Sie Nutzern das Erstellen einer bestimmten AVD im AVD Manager von Android Studio ermöglichen, finden Sie unter Virtuelle Geräte erstellen und verwalten.
Gerätehersteller können ihre eigenen Hardwarespezifikationen wie Bildschirmgröße und DPI mithilfe einer devices.xml
-Datei definieren, die im AVD-Image enthalten ist.
- Weitere Informationen finden Sie beispielsweise in den Geräteprofilen für die Automobilbranche in
automotive.xml
. - Für die HMI-Entwicklung oder das Prototyping können der Datei mehrere Geräte für dasselbe AVD-Image hinzugefügt werden.
- Fügen Sie die Datei in die ZIP-Datei des OEM-AVD-Images im Ordner
[ABI]
ein. Beispiel:x86_64
. - Gerätehersteller können auch einen Emulator-Skin erstellen. Beispielsweise können Sie zusätzliche Hardwareschaltflächen für eine höhere UX-Fidelity definieren. Das ist nicht nur für Entwickler-Workflows nützlich, sondern auch für andere Aufgaben wie UX-Recherche und -Überprüfung.
AVD-Image-XML-Datei erstellen
Gerätehersteller können eine AVD-Image-XML-Datei für Android Studio erstellen, damit sie heruntergeladen werden kann.
- Siehe dazu beispielsweise die XML-Datei für das AAOS-AVD-Image
sys-img2-1.xml
. - Gerätehersteller können ihre eigene OEM-AVD-Lizenzvereinbarung für ihre Zielgruppe mit der Lizenz für den Android-Emulator definieren (unter Verwendung des Vertrauensprinzips). Android Studio fordert die Einwilligung der Nutzer ein, wenn eine solche Lizenz enthalten ist.
So erstellen Sie das Image:
- Bereiten Sie eine ZIP-Datei mit dem AVD-Image 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 dann in einer ZIP-Datei. Beispiel:oem_avd_img_x86_64.zip
. oem-sys-img2-1.xml
aktualisieren.- Aktualisieren Sie den Namen, die Größe und den SHA-Summenwert der ZIP-Datei. Beispiel-XML-Dateien finden Sie unter
tools
.
Informationen zum Hosten der AVD beispielsweise in Google Cloud Storage finden Sie unter Storage-Buckets erstellen.
Informationen zum Hochladen und zum Öffentlichmachen der 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 SDK-Add-on für AVD-Images lautet https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml
.
Wenn der BUCKET_NAME beispielsweise „aaos-avd“ lautet, 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 Ihre AVD über Android Studio verwenden können, können Sie eine SDK-Add-on-XML-Datei bereitstellen. Weitere Informationen finden Sie unter IDE und SDK-Tools aktualisieren.
So laden Sie die AVD aus dem Netzwerk herunter:
- Hosten Sie die ZIP-Datei mit den Bildern und die XML-Dateien auf einem Server.
- Geben Sie die URL an Ihre Zielgruppe weiter.
- Optional: Beschränken Sie den Zugriff auf Nutzername und Passwort.
Alternativ können Sie die AVD auch 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 namens
ADDON_DIR
(z. B. alle ZIP-Dateien mit AVD-Bildern). - Geben Sie die URL als
file://$ADDON_DIR/oem-sys-img2-1.xml
an.