Verwenden von virtuellen Android-Emulator-Geräten

Sie können Android-Emulator verwenden, um Emulationen von Android-Geräten zu erstellen, auf denen Ihre eigenen benutzerdefinierten Android-Systemabbilder ausgeführt werden. Sie können auch Ihre benutzerdefinierten Android-Systemabbilder freigeben, damit andere Personen Emulationen davon ausführen können. Darüber hinaus können Sie Android-Emulator-Emulationen Unterstützung für mehrere Displays hinzufügen.

Android-Emulator-Architektur

Mit Android Emulator können Sie Emulationen von Android-Geräten auf Windows-, macOS- oder Linux-Computern ausführen. Der Android-Emulator führt das Android-Betriebssystem in einer virtuellen Maschine aus, die als Android Virtual Device (AVD) bezeichnet wird. Der AVD enthält den vollen Android - Software - Stack , und es läuft , als ob es auf einem physisches Gerät war. Abbildung 1 ist ein Diagramm der High-Level-Architektur des Android-Emulators. Weitere Informationen über den Emulator finden Run Apps auf dem Android - Emulator .

Android-Emulator-Architektur

Abbildung 1. Android Emulator Architektur

Erstellen von AVD-Bildern

Jedes AVD enthält ein Android-Systemabbild, das in diesem AVD ausgeführt wird. Der AVD Manager enthält einige Systemabbilder. Und Sie können benutzerdefinierte AVD-Systemimages aus Ihrem Quellcode erstellen und Geräteemulationen erstellen, um sie auszuführen.

So erstellen Sie ein AVD-System-Image und führen es aus:

  1. Laden Sie die Android-Quelle herunter:

    mkdir aosp-master; cd aosp-master
    repo init -u
    repo sync -j24
    

    Wenn Sie andere Android - Versionen erstellen möchten, können Sie ihre Zweignamen in der finden öffentliche Android - Repository . Sie bilden auf Android Kodenamen, Tags und Build - Nummern .

  2. Erstellen Sie ein AVD-System-Image. Dies ist der gleiche Prozess wie ein Android baut Gerätesystem Bild. Um beispielsweise ein x86 32-Bit-AVD zu erstellen:

    mkdir aosp-master; cd aosp-master
    source ./build/envsetup.sh
    lunch sdk_phone_x86
    make -j32
    

    Wenn Sie lieber auf einen x86 64-Bit - AVD, laufen bauen lunch für die 64-Bit - Ziel:

    lunch sdk_phone_x86_64
    
  3. Führen Sie das AVD-Systemimage im Android-Emulator aus:

    emulator
    

Siehe die Befehlszeilenstartoptionen , um weitere Informationen über den Emulator läuft. Abbildung 2 zeigt ein Beispiel für den Android-Emulator, auf dem ein AVD ausgeführt wird.

Android-Emulator mit einem AVD

Abbildung 2. Android Emulator eine AVD läuft

Freigeben von AVD-Systembildern für andere zur Verwendung mit Android Studio

Befolgen Sie diese Anweisungen, um Ihre AVD-Systembilder mit anderen zu teilen. Sie können Ihre AVD - System Bilder mit verwenden Android Studio zu entwickeln und zu testen Apps.

  1. Nehmen Sie zusätzliche sdk und sdk_repo Pakete:

    $ make -j32 sdk sdk_repo
    

    Dadurch entstehen zwei Dateien unter aosp-master/out/host/linux-x86/sdk/sdk_phone_x86 :

    • 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 irgendwo zugänglich für Ihre Benutzer und erhalten die entsprechende URL zu verwenden , wie die Bild - URL AVD - System.

  3. Bearbeiten repo-sys-img.xml entsprechend:

    • Update <sdk:url> zu Ihrer AVD System - Image - URL.
    • Siehe sdk-sys-img-03.xsd über andere Aktualisierungen der Datei zu lernen.
  4. Host - repo-sys-img.xml irgendwo zugänglich für die Benutzer, und erhält die entsprechende URL als die benutzerdefinierten Update - Site - URL zu verwenden.

Gehen Sie im SDK-Manager wie folgt vor, um ein benutzerdefiniertes AVD-Image zu verwenden:

  1. Fügen Sie die benutzerdefinierte Update - Site - URL als SDK Update - Site .

    Dadurch wird Ihr benutzerdefiniertes AVD-Systemabbild zur Seite Systemabbilder hinzugefügt.

  2. Erstellen Sie ein AVD durch die Herunterladen und die Auswahl des benutzerdefinierten AVD Systemabbilds.

Unterstützung für mehrere Displays hinzufügen

Android 10 Verstärkt Multi-Display (MD) zum besseren Unterstützung von mehr Anwendungsfällen, wie Auto - und Desktop - Modus. Android Emulator unterstützt auch die Multi-Display-Emulation. So können Sie eine spezifische Multi-Display-Umgebung erstellen, ohne die echte Hardware einzurichten.

Sie können , indem sie die folgenden Änderungen oder durch Kirsche von der Kommissionierung zu einem AVD Multi-Display - Unterstützung hinzufügen , diese CLs .

  • In Multi-Display - Anbieter für die Build durch das Hinzufügen dieser Zeilen Datei 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 die Multi-Display - Funktion Flag durch das Hinzufügen dieser Zeile Datei device/generic/goldfish/data/etc/advancedFeatures.ini :

    MultiDisplay = on
    

Die neuesten Emulatorfunktionen und Versionsinformationen finden Sie in den folgenden Quellen: