Korzystanie z urządzeń wirtualnych emulatora Androida

Za pomocą narzędzia Android Emulator możesz tworzyć emulacje urządzeń z Androidem, na których działają Twoje niestandardowe obrazy systemu Android. Dodatkowo możesz dodać obsługę wielu wyświetlaczy do emulacji w narzędziu Android Emulator.

Architektura narzędzia Android Emulator

Narzędzie Android Emulator uruchamia system operacyjny Android na maszynie wirtualnej o nazwie Android Virtual Device (AVD). Każde AVD zawiera pełny stos oprogramowania Androida i działa tak, jakby było uruchomione na urządzeniu fizycznym. Rysunek 1 przedstawia architekturę wysokiego poziomu narzędzia Android Emulator. Więcej informacji o emulatorze znajdziesz w artykule Uruchamianie aplikacji w narzędziu Android Emulator.

Architektura Android Emulatora.

Rysunek 1. Architektura narzędzia Android Emulator.

Tworzenie obrazów AVD

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

Aby utworzyć i uruchomić obraz systemu AVD:

  1. Pobierz źródło Androida:

    mkdir aosp-android-latest-release; cd aosp-android-latest-release
    repo init -u
    repo sync -j24

Jeśli chcesz utworzyć inne wersje Androida, nazwy ich gałęzi znajdziesz w publicznym repozytorium Androida. Są one powiązane z kryptonimami, tagami i numerami kompilacji Androida.

  1. Utwórz obraz systemu AVD. Jest to ten sam proces co tworzenie obrazu systemu urządzenia z systemem Android. Aby na przykład utworzyć 64-bitowe AVD x86:

    source ./build/envsetup.sh
    lunch sdk_phone_x86_64
    make -j32
  2. Uruchom obraz systemu AVD w narzędziu Android Emulator:

    emulator

Więcej informacji o uruchamianiu emulatora znajdziesz w artykule Opcje uruchamiania z wiersza poleceń. Rysunek 2 przedstawia przykład narzędzia Android Emulator uruchamiającego AVD:

Android Emulator z uruchomionym AVD.

Rysunek 2. Narzędzie Android Emulator uruchamiające AVD.

Udostępnianie obrazów systemu AVD innym osobom do używania w Android Studio

Aby udostępnić obrazy systemu AVD innym osobom, wykonaj te instrukcje. Mogą one używać Twoich obrazów systemu AVD w Android Studio do tworzenia i testowania aplikacji.

  1. Utwórz dodatkowe pakiety sdk i sdk_repo:

    W przypadku Androida 13 i nowszych wersji użyj polecenia emu_img_zip:

    $ make emu_img_zip
    

    Spowoduje to wygenerowanie pliku sdk-repo-linux-system-images-eng.[username]].zip.

    W przypadku Androida 12 i starszych wersji użyj polecenia sdk_repo:

    $ make -j32 sdk sdk_repo
    

    Polecenie make sdk sdk_repo tworzy 2 pliki w folderze aosp-android-latest-release/out/host/linux-x86/sdk/sdk_phone_x86:

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. Umieść plik sdk-repo-linux-system-images-eng.[username].zip w miejscu dostępnym dla użytkowników i pobierz jego adres URL, aby użyć go jako adresu URL obrazu systemu AVD.

  3. W przypadku Androida 12 i starszych wersji odpowiednio zmodyfikuj plik repo-sys-img.xml:

    • Zaktualizuj element <sdk:url> do adresu URL obrazu systemu AVD.
    • Więcej informacji o innych aktualizacjach pliku znajdziesz w pliku sdk-sys-img-03.xsd.
    • Umieść plik repo-sys-img.xml w miejscu dostępnym dla użytkowników i pobierz jego adres URL, aby użyć go jako adresu URL niestandardowej witryny aktualizacji.

Aby użyć niestandardowego obrazu AVD, w Menedżerze SDK wykonaj te czynności:

  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 rozszerza obsługę wielu wyświetlaczy aby lepiej obsługiwać więcej przypadków użycia, takich jak tryb samochodowy i tryb pulpitu. Narzędzie Android Emulator obsługuje też emulację wielu wyświetlaczy. Dzięki temu możesz utworzyć konkretne środowisko z wieloma wyświetlaczami bez konfigurowania rzeczywistego sprzętu.

Aby dodać obsługę wielu wyświetlaczy do AVD, wprowadź te zmiany lub wybierz z tych CL.

  • Dodaj dostawcę obsługi 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 obsługi wielu wyświetlaczy, dodając ten wiersz do pliku device/generic/goldfish/data/etc/advancedFeatures.ini:

    MultiDisplay = on
    

Najnowsze funkcje emulatora i informacje o wersji znajdziesz w tych źródłach: