Korzystanie z wirtualnych urządzeń Android Emulator

Za pomocą emulatora systemu Android można tworzyć emulacje urządzeń z systemem Android, które uruchamiają własne niestandardowe obrazy systemu Android. Możesz także udostępniać niestandardowe obrazy systemu Android, aby inne osoby mogły uruchamiać ich emulacje. Ponadto możesz dodać obsługę wielu wyświetlaczy do emulacji emulatora Androida.

Architektura emulatora Androida

Android Emulator umożliwia uruchamianie emulacji urządzeń z systemem Android na maszynach z systemem Windows, macOS lub Linux. Emulator Androida uruchamia system operacyjny Android na maszynie wirtualnej o nazwie Android Virtual Device (AVD). AVD zawiera pełny stos oprogramowania Androida i działa tak, jakby znajdował się na fizycznym urządzeniu. Rysunek 1 to diagram architektury wysokiego poziomu emulatora Androida. Aby uzyskać więcej informacji o emulatorze, zobacz Uruchamianie aplikacji w emulatorze systemu Android .

Architektura emulatora Androida

Rysunek 1. Architektura emulatora Androida

Tworzenie obrazów AVD

Każdy AVD zawiera obraz systemu Android, który działa w tym AVD. Menedżer AVD zawiera kilka obrazów systemu. Możesz też tworzyć niestandardowe obrazy systemu AVD z kodu źródłowego i tworzyć emulacje urządzeń, aby je uruchamiać.

Aby zbudować i uruchomić obraz systemu AVD:

  1. Pobierz źródło Androida:

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

    Jeśli chcesz zbudować inne wersje Androida, możesz znaleźć ich nazwy gałęzi w publicznym repozytorium Androida . Są one mapowane na nazwy kodowe, tagi i numery kompilacji Androida .

  2. Zbuduj obraz systemu AVD. Jest to ten sam proces, co tworzenie obrazu systemu urządzenia z Androidem . Na przykład, aby zbudować 32-bitowy AVD dla x86:

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

    Jeśli wolisz zbudować 64-bitowy AVD x86, uruchom lunch dla 64-bitowego celu:

    lunch sdk_phone_x86_64
    
  3. Uruchom obraz systemu AVD w emulatorze Androida:

    emulator
    

Zobacz opcje uruchamiania wiersza polecenia, aby uzyskać więcej informacji na temat uruchamiania emulatora. Rysunek 2 przedstawia przykład emulatora Androida z systemem AVD.

Emulator Androida z systemem AVD

Rysunek 2. Emulator Androida z systemem AVD

Udostępnianie obrazów systemu AVD innym użytkownikom w Android Studio

Postępuj zgodnie z tymi instrukcjami, aby udostępnić obrazy systemu AVD innym. Mogą używać obrazów systemu AVD w Android Studio do tworzenia i testowania aplikacji.

  1. Utwórz dodatkowe pakiety sdk i sdk_repo :

    $ make -j32 sdk sdk_repo
    

    Tworzy to dwa pliki w aosp-master/out/host/linux-x86/sdk/sdk_phone_x86 :

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. Przechowuj plik sdk-repo-linux-system-images-eng.[username].zip w miejscu dostępnym dla użytkowników i uzyskaj jego adres URL, który będzie używany jako adres URL obrazu systemu AVD .

  3. Edytuj odpowiednio repo-sys-img.xml :

    • Zaktualizuj <sdk:url> do adresu URL obrazu systemu AVD .
    • Zobacz sdk-sys-img-03.xsd , aby dowiedzieć się o innych aktualizacjach pliku.
  4. repo-sys-img.xml w miejscu dostępnym dla użytkowników i uzyskaj jego adres URL, który będzie używany jako adres URL niestandardowej witryny aktualizacji .

Aby użyć niestandardowego obrazu AVD, wykonaj następujące czynności w Menedżerze SDK:

  1. Dodaj adres URL niestandardowej witryny aktualizacji jako witrynę aktualizacji SDK .

    Spowoduje to dodanie niestandardowego obrazu systemu AVD do strony Obrazy systemu.

  2. Utwórz AVD , pobierając i wybierając niestandardowy obraz systemu AVD.

Dodawanie obsługi wielu wyświetlaczy

Android 10 ulepsza Multi-Display (MD) , aby lepiej obsługiwać więcej zastosowań, takich jak tryb automatyczny i stacjonarny. Emulator Androida obsługuje również emulację wielu wyświetlaczy. Możesz więc stworzyć specyficzne środowisko wieloekranowe bez konfigurowania prawdziwego sprzętu.

Możesz dodać obsługę wielu wyświetlaczy do AVD, wprowadzając następujące zmiany lub wybierając z tych CL .

  • Dodaj dostawcę wielu wyświetlaczy do kompilacji, dodając te wiersze do pliku 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
    
  • Włącz flagę funkcji Multi-Display, dodając tę ​​linię do pliku device/generic/goldfish/data/etc/advancedFeatures.ini :

    MultiDisplay = on
    

Najnowsze funkcje emulatora i informacje o wydaniu można znaleźć w następujących źródłach: