Virtuelle Geräte des Android Emulators verwenden

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.

Android Emulator-Architektur.

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:

  1. Laden Sie den Android-Quellcode herunter:

    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 Namen der entsprechenden Zweige in dem öffentlichen Android-Repository. Sie sind den Android-Codenamen, ‑Tags und ‑Build-Nummern zugeordnet.

  1. 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.sh
    lunch sdk_phone_x86_64
    make -j32
  2. Fü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:

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.

  1. Erstellen Sie zusätzliche sdk und sdk_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 unter aosp-android-latest-release/out/host/linux-x86/sdk/sdk_phone_x86 erstellt:

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. 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, um sie als AVD-System-Image-URL zu verwenden.

  3. Bearbeiten Sie für Android 12 und niedriger repo-sys-img.xml entsprechend:

    • 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.xml an einem für Ihre Nutzer zugänglichen Ort und rufen Sie die URL ab, um sie als URL der benutzerdefinierten Update-Website zu verwenden.

So verwenden Sie ein benutzerdefiniertes AVD-Image im SDK Manager:

  1. 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.

  2. 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.mk diese 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 Funktions-Flag für mehrere Displays, indem Sie der Datei device/generic/goldfish/data/etc/advancedFeatures.ini diese Zeile hinzufügen:

    MultiDisplay = on
    

Die neuesten Emulator-Features und Releaseinformationen finden Sie in den folgenden Quellen: