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 den Emulationen des Android Emulators Unterstützung für mehrere Displays hinzufügen.
Android Emulator-Architektur
Der Android Emulator führt das Android-Betriebssystem auf einer virtuellen Maschine aus, die als virtuelles Android-Gerät (Android Virtual Device, AVD) bezeichnet wird. Jedes AVD enthält den vollständigen Android-Softwarestackund 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 auf dem 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. Sie können auch benutzerdefinierte AVD-System-Images aus Ihrem Quellcode erstellen und Geräteemulationen ausführen.
So erstellen und führen Sie ein AVD-System-Image aus:
Laden Sie den Android-Quellcode herunter:
mkdir aosp-android-latest-release; cd aosp-android-latest-releaserepo init -urepo sync -j24
Wenn Sie andere Android-Versionen erstellen möchten, finden Sie die Namen der entsprechenden Zweige in dem öffentlichen Android-Repository. Sie sind den Android-Codenamen, ‑Tags und ‑Build-Nummern zugeordnet.
Erstellen Sie ein AVD-System-Image. Das ist derselbe Vorgang wie beim Erstellen eines System-Image für ein Android-Gerät. So erstellen Sie beispielsweise ein 64-Bit-AVD für x86:
source ./build/envsetup.shlunch sdk_phone_x86_64make -j32Führen Sie das AVD-System-Image im Android Emulator aus:
emulator
Weitere Informationen zum Ausführen des Emulators finden Sie unter Befehlszeilenoptionen für den Start. Abbildung 2 zeigt ein Beispiel für den Android Emulator, auf dem ein AVD ausgeführt wird:
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 für andere freizugeben. Sie können Ihre AVD-System-Images mit Android Studio verwenden, um Apps zu entwickeln und zu testen.
Erstellen Sie zusätzliche
sdkundsdk_repoPakete:Verwenden Sie für Android 13 und höher den Befehl
emu_img_zip:$ make emu_img_zipDadurch wird eine
sdk-repo-linux-system-images-eng.[username]].zipDatei generiert.Verwenden Sie für Android 12 und niedriger den Befehl
sdk_repo:$ make -j32 sdk sdk_repoMit dem Befehl
make sdk sdk_repowerden zwei Dateien unteraosp-android-latest-release/out/host/linux-x86/sdk/sdk_phone_x86erstellt:sdk-repo-linux-system-images-eng.[username].ziprepo-sys-img.xml
Hosten Sie die Datei
sdk-repo-linux-system-images-eng.[username].zipan einem für Ihre Nutzer zugänglichen Ort und rufen Sie die URL ab, um sie als AVD-System-Image-URL zu verwenden.Bearbeiten Sie für Android 12 und niedriger
repo-sys-img.xmlentsprechend:- Aktualisieren Sie
<sdk:url>auf Ihre AVD-System-Image-URL. - Unter sdk-sys-img-03.xsd finden Sie weitere Informationen zu anderen Aktualisierungen der Datei.
- Hosten Sie
repo-sys-img.xmlan einem für Ihre Nutzer zugänglichen Ort und rufen Sie die URL ab, um sie als URL der benutzerdefinierten Update-Website zu verwenden.
- Aktualisieren Sie
So verwenden Sie ein benutzerdefiniertes AVD-Image im SDK Manager:
Fügen Sie die URL der benutzerdefinierten Update-Website als SDK-Update-Website hinzu.
Dadurch wird Ihr benutzerdefiniertes AVD-System-Image der Seite „System-Images“ hinzugefügt.
Erstellen Sie ein AVD indem Sie das benutzerdefinierte AVD-System-Image herunterladen und auswählen.
Unterstützung für mehrere Displays hinzufügen
Android 10 verbessert die Unterstützung für mehrere Displays, um mehr Anwendungsfälle wie den Auto- und 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 sie aus diesen CLs auswählen.
Fügen Sie den Anbieter für mehrere Displays dem Build hinzu, indem Sie der Datei
build/target/product/sdk_phone_x86.mkdiese 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 += MultiDisplayProviderAktivieren Sie das Funktions-Flag für mehrere Displays, indem Sie der Datei
device/generic/goldfish/data/etc/advancedFeatures.inidiese Zeile hinzufügen:MultiDisplay = on
Die neuesten Emulator-Features und Releaseinformationen finden Sie in den folgenden Quellen: