Mit dem Android Emulator können Sie Emulationen von Android-Geräten erstellen, auf denen Ihre eigenen benutzerdefinierten Android-System-Images ausgeführt werden. Außerdem können Sie Emulationen im Android-Emulator Unterstützung für mehrere Displays hinzufügen.
Architektur des Android Emulators
Der Android Emulator führt das Android-Betriebssystem auf einer virtuellen Maschine aus, die als Android Virtual Device (AVD) bezeichnet wird. Jedes AVD enthält den vollständigen Android-Softwarestack und wird so ausgeführt, als wäre es auf einem physischen Gerät. Abbildung 1 zeigt die allgemeine Architektur des Android-Emulators. Weitere Informationen zum Emulator finden Sie unter Apps im Android-Emulator ausführen.
Abbildung 1: Android Emulator-Architektur.
AVD-Images erstellen
Jedes AVD enthält ein Android-System-Image, das in diesem AVD ausgeführt wird. Der AVD Manager enthält einige System-Images. Außerdem können Sie benutzerdefinierte AVD-System-Images aus Ihrem Quellcode erstellen und Geräteemulationen erstellen, um sie auszuführen.
So erstellen und führen Sie ein AVD-System-Image aus:
Android-Quellcode herunterladen:
mkdir aosp-android-latest-release; cd aosp-android-latest-release
repo init -u
repo sync -j24
Wenn Sie andere Android-Versionen erstellen möchten, finden Sie die entsprechenden Zweignamen im öffentlichen Android-Repository. Sie entsprechen den Android-Codenamen, ‑Tags und ‑Build-Nummern.
AVD-System-Image erstellen Das ist derselbe Vorgang wie beim Erstellen eines System-Images für ein Android-Gerät. So erstellen Sie beispielsweise ein x86-64-Bit-AVD:
source ./build/envsetup.sh
lunch sdk_phone_x86_64
make -j32
Führen Sie das AVD-System-Image im Android Emulator aus:
emulator
Weitere Informationen zum Ausführen des Emulators finden Sie unter Befehlszeilen-Startoptionen. Abbildung 2 zeigt ein Beispiel für den Android-Emulator, der ein AVD ausführt:
Abbildung 2: Android Emulator, auf dem ein AVD ausgeführt wird.
AVD-System-Images für andere zur Verwendung mit Android Studio freigeben
Folgen Sie dieser Anleitung, um Ihre AVD-System-Images mit anderen zu teilen. Sie können Ihre AVD-Systemabbilder mit Android Studio verwenden, um Apps zu entwickeln und zu testen.
Erstellen Sie zusätzliche
sdk
- undsdk_repo
-Pakete:Verwenden Sie für Android 13 und höher den Befehl
emu_img_zip
:$ make emu_img_zip
Dadurch wird eine
sdk-repo-linux-system-images-eng.[username]].zip
-Datei generiert.Verwenden Sie für Android 12 und niedriger den Befehl
sdk_repo
:$ make -j32 sdk sdk_repo
Mit dem Befehl
make sdk sdk_repo
werden zwei Dateien unteraosp-android-latest-release/out/host/linux-x86/sdk/sdk_phone_x86
erstellt:sdk-repo-linux-system-images-eng.[username].zip
repo-sys-img.xml
Hosten Sie die Datei
sdk-repo-linux-system-images-eng.[username].zip
an einem für Ihre Nutzer zugänglichen Ort und rufen Sie die URL ab, die Sie als AVD System Image URL verwenden können.Bei Android 12 und niedriger bearbeiten Sie
repo-sys-img.xml
entsprechend:- Aktualisieren Sie
<sdk:url>
auf die URL des AVD-System-Image. - Informationen zu anderen Aktualisierungen der Datei finden Sie unter sdk-sys-img-03.xsd.
- Hosten Sie
repo-sys-img.xml
an einem für Ihre Nutzer zugänglichen Ort und rufen Sie die URL ab, die Sie als Custom Update Site URL verwenden möchten.
- Aktualisieren Sie
So verwenden Sie ein benutzerdefiniertes AVD-Image im SDK Manager:
Fügen Sie die Custom Update Site URL als SDK Update Site hinzu.
Dadurch wird Ihr benutzerdefiniertes AVD-Systemimage der Seite „System Images“ hinzugefügt.
AVD erstellen, indem Sie das benutzerdefinierte AVD-System-Image herunterladen und auswählen.
Multi-Display-Unterstützung hinzufügen
Android 10 verbessert die Unterstützung mehrerer Displays, um mehr Anwendungsfälle wie den Auto- und den Desktopmodus zu unterstützen. Der Android-Emulator unterstützt auch die Emulation mehrerer Displays. So können Sie eine bestimmte Umgebung mit mehreren Displays erstellen, ohne die tatsächliche Hardware einrichten zu müssen.
Sie können einem AVD Unterstützung für mehrere Displays hinzufügen, indem Sie die folgenden Änderungen vornehmen oder diese CLs cherry-picken.
Fügen Sie den Anbieter für mehrere Displays dem Build hinzu, indem Sie der Datei
build/target/product/sdk_phone_x86.mk
die folgenden Zeilen hinzufügen:PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \ system/lib/libemulator_multidisplay_jni.so \ system/lib64/libemulator_multidisplay_jni.so \ system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \ PRODUCT_PACKAGES += MultiDisplayProvider
Aktivieren Sie das Feature-Flag für mehrere Displays, indem Sie diese Zeile in die Datei
device/generic/goldfish/data/etc/advancedFeatures.ini
einfügen:MultiDisplay = on
Die neuesten Emulatorfunktionen und Versionsinformationen finden Sie in den folgenden Quellen: