Mit dem Android-Emulator können Sie Emulatoren für Android-Geräte erstellen die Ihre eigenen benutzerdefinierten Android-System-Images ausführen. Sie können auch Ihren Android-System-Images, damit andere Nutzer sie emulieren können. In Sie können im Android-Emulator Multi-Display-Unterstützung hinzufügen, Emulationen verwenden.
Architektur des Android-Emulators
Mit dem Android-Emulator können Sie Android-Geräte unter Windows, macOS- oder Linux-Computer. Im Android-Emulator wird das Betriebssystem Android ausgeführt. in einer virtuellen Maschine, einem Android Virtual Device (AVD). Die AVD enthält die vollständige Android-Software Stacks und wird so ausgeführt, auf einem physischen Gerät erfolgten. Abbildung 1 zeigt ein Diagramm der High-Level-Architektur. Weitere Informationen zum Emulator finden Sie unter Apps im Android-Emulator ausführen
Abbildung 1: Architektur des Android-Emulators
AVD-Images erstellen
Jedes AVD enthält ein Android-Systemimage, das in diese AVD. 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 Sie ein AVD-System-Image und führen es aus:
Android-Quelle herunterladen:
mkdir aosp-main; cd aosp-main
repo init -u
repo sync -j24
Weitere Android-Versionen findest du auf den jeweiligen Zweignamen in Das öffentliche Android-Repository. Sie zuordnen zu Android-Codenamen, -Tags und -Build-Nummern
Erstellen Sie ein AVD-System-Image. Dieser Vorgang entspricht dem Erstellen eines Android-Gerätesystem Bild. So erstellen Sie beispielsweise eine x86-AVD mit 32 Bit:
mkdir aosp-main; cd aosp-main
source ./build/envsetup.sh
lunch sdk_phone_x86
make -j32
Wenn Sie ein 64-Bit-AVD in x86 erstellen möchten, führen Sie
lunch
für das 64-Bit-Ziel aus:lunch sdk_phone_x86_64
Führen Sie das AVD-Systemimage im Android-Emulator aus:
emulator
Weitere Informationen finden Sie in der Startoptionen der Befehlszeile findest du weitere Informationen zum Ausführen des Emulators. Abbildung 2 zeigt ein Beispiel für den Android-Emulator mit AVD.
Abbildung 2: Android-Emulator mit AVD
AVD-Systemabbilder freigeben, damit andere Nutzer sie mit Android Studio verwenden können
Folgen Sie dieser Anleitung, um Ihre AVD-Systemabbilder mit anderen zu teilen. Sie können Verwenden Sie Ihre AVD-Systemabbilder mit Android Studio zum Entwickeln und Testen von Anwendungen.
Erstellen Sie zusätzliche
sdk
- undsdk_repo
-Pakete:Verwende ab Android 13 die
emu_img_zip
Befehl:$ make emu_img_zip
Dadurch wird eine
sdk-repo-linux-system-images-eng.[username]].zip
-Datei erstellt.Verwende für Android 12 und niedriger die
sdk_repo
Befehl:$ make -j32 sdk sdk_repo
Der Befehl
make sdk sdk_repo
erstellt zwei Dateien unteraosp-main/out/host/linux-x86/sdk/sdk_phone_x86
:sdk-repo-linux-system-images-eng.[username].zip
repo-sys-img.xml
Datei
sdk-repo-linux-system-images-eng.[username].zip
hosten an einem Ort zugänglich sind, der für Ihre Nutzer zugänglich ist, und rufen Sie seine URL als AVD auf. System-Image-URL.Für Android 12 und niedriger:
repo-sys-img.xml
bearbeiten entsprechend:- Aktualisieren Sie
<sdk:url>
auf Ihre AVD-System-Image-URL. - Weitere Informationen finden Sie unter sdk-sys-img-03.xsd: um mehr über andere Aktualisierungen der Datei zu erfahren.
- Hosten Sie
repo-sys-img.xml
an einem für Ihre Nutzer zugänglichen Ort und laden Sie die URL, die als URL der benutzerdefinierten Update-Website verwendet werden soll.
- Aktualisieren Sie
So kannst du ein benutzerdefiniertes AVD-Bild verwenden:
URL der benutzerdefinierten Update-Website als SDK-Update hinzufügen Website
Dadurch wird Ihr benutzerdefiniertes AVD-Systemimage zur 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 Multidisplay (MD) um mehr Anwendungsfälle wie den automatischen und den Desktopmodus besser zu unterstützen. Android-Geräte Der Emulator unterstützt auch die Multi-Display-Emulation. Sie können also eine spezifische Multi-Display-Umgebung ausführen, ohne die echte Hardware einrichten zu müssen.
Sie können einer AVD die Multi-Display-Unterstützung hinzufügen, indem Sie die folgenden Änderungen vornehmen: durch Kirschpflücken aus diesen CLs hinzufügen.
Anbieter für mehrere Displays dem Build hinzufügen, indem Sie diese Zeilen zur Datei hinzufügen
build/target/product/sdk_phone_x86.mk
: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 Funktions-Flag für Multi-Display-Anzeigen, indem Sie diese Zeile in die Datei einfügen
device/generic/goldfish/data/etc/advancedFeatures.ini
:MultiDisplay = on
Die neuesten Emulator-Funktionen und Release-Informationen findest du unter aus folgenden Quellen: