Für die Verwendung von AVDs (Android Virtual Devices) 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 GUI ist ein unkompliziertes Tool, das den meisten App-Entwicklern und Nutzern zur Verfügung steht.
- Den Emulator über die Befehlszeile starten ist eine flexible Methode für Poweruser und die Automatisierung. Sie können beispielsweise mehrere AVDs verwenden oder kontinuierliche Tests und Continuous Integration einrichten. Sehen Sie sich zum Einstieg die Beispiele in tools an.
AOSP Car-AVD erstellen
Der Vorgang zum Erstellen eines 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 Identifizieren eines Zweigs finden Sie unter Quellcodeverwaltungstools. Gehe dann zu Herunterladen der Quelle:
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 Startoptionen für die Befehlszeile hinzu):
emulator &
Beispiel:
Abbildung 1: Bildschirm des Android Virtual Emulator
Hinweise zu diesem Prozess:
- Da der Build-Prozess derselbe ist wie für das Erstellen von Android für ein physisches Gerät, kann es einige Zeit dauern, bis der Quellcode heruntergeladen und erstellt ist.
- Wenn Sie an anderen Zweigen arbeiten möchten, legen Sie
$ANDROID_BRANCH
auf einen anderen Zweig/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 vorgefertigten Emulator-Binärdateien in Ihrem Android-Baum zum Ausführen des Emulators verwendet werden.
AVD für Autos erstellen
Das Hinzufügen eines neuen AVD für Autos ist fast identisch mit dem Hinzufügen eines neuen Geräts. Beispiel:
1660554
erstellt ein neues avd_car
-AVD.
So erstellen Sie ein Car-AVD:
- Erstellen Sie bei Bedarf ein Unternehmen und einen Geräteordner. In diesem Beispiel wird
$ANDROID_BUILD_TOP/device/google_car/avd_car
verwendet. - Erstellen Sie das Produkt-Makefile
avd_car.mk
, in dem definiert wird, wie das AVD erstellt wird. - Erstellen Sie einen Geräteordner namens
avd_car_device
, in demBoardConfig.mk
undsource.properties
enthalten sind. - Fügen Sie
makefile
und die neue Auswahlmöglichkeitlunch
zuAndroidProducts.mk
hinzu. - So erstellen und führen Sie das neue
avd_car
-AVD aus:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
AVD-Image-ZIP-Datei packen
Sie können Ihr AVD packen und mit anderen teilen oder auf einem anderen Computer verwenden. Verwenden Sie emu_img_zip.mk
, um die ZIP-Datei für das AVD-Image zu generieren:
- Nachdem Sie das AVD erstellt haben, legen Sie
emu_img_zip
als Ziel fest:m emu_img_zip
- Die ZIP-Datei für das AVD-Image 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 es sich bei allen um vorgefertigte Images handelt. Normalerweise können Sie die vorkonfigurierten Standard-Goldfish-Kernel-Images aus jeder Android-Version unverändert verwenden.
So testen Sie Änderungen am Kernel:
- 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-Binärprogramm in der Codebasis gemäß dem AVD-Makefile. Beispiel:
device/generic/goldfish/board/emu64x/details.mk
umfasstdevice/generic/goldfish/board/kernel/x86_64.mk
.
Der Kernelcode und die Konfiguration befinden sich an folgenden Speicherorten:
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 |
Kernel | kernel/common/android11-5.4 |
Neues Geräteprofil erstellen
Informationen dazu, wie Nutzer einen bestimmten AVD im AVD Manager von Android Studio erstellen können, finden Sie unter Virtuelle Geräte erstellen und verwalten.
Gerätehersteller können ihre eigenen Hardwarespezifikationen wie Bildschirmgröße und DPI-Wert über eine devices.xml
-Datei definieren, die im AVD-Image enthalten ist.
- Beispiele finden Sie in den Geräteprofilen für die Automobilbranche in
automotive.xml
. - Für die HMI-Entwicklung oder das Prototyping können der Datei für dasselbe AVD-Image mehrere Geräte 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 Emulator-Skins erstellen. So können Sie beispielsweise zusätzliche Hardwaretasten für eine bessere UX definieren. Das ist nicht nur für Entwickler-Workflows nützlich, sondern auch für andere Aufgaben wie UX-Forschung 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.
- Ein Beispiel finden Sie in der XML-Datei für das AAOS-AVD-Image,
sys-img2-1.xml
. - Gerätehersteller können für ihre Zielnutzer eine eigene OEM-AVD-Lizenzvereinbarung für den Android Emulator definieren (auf Vertrauensbasis). Android Studio holt die Einwilligung des Nutzers ein, wenn eine solche Lizenz enthalten ist.
So erstellen Sie das Bild:
- 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
.
Wenn Sie das AVD beispielsweise in Google Cloud Storage hosten möchten, lesen Sie den Abschnitt Storage-Buckets erstellen.
Informationen zum Hochladen und öffentlich zugänglich machen 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 Ihr AVD in 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 das AVD aus dem Netzwerk herunter:
- Hosten Sie die ZIP-Datei mit den Bildern und die XML-Dateien auf einem Server.
- Stellen Sie die URL Ihren Zielnutzern zur Verfügung.
- Optional: Zugriff nach Nutzername und Passwort beschränken.
Alternativ können Sie das AVD in ein lokales Verzeichnis herunterladen, um die Entwicklung zu beschleunigen:
- Speichern Sie die XML-Dateien und alle in der XML-Datei angegebenen Artefakte (z. B. alle ZIP-Dateien für AVD-Bilder) in einem Ordner mit dem Namen
ADDON_DIR
. - Geben Sie die URL als
file://$ADDON_DIR/oem-sys-img2-1.xml
an.