Korzystanie z urządzeń wirtualnych z emulatorem Androida

Za pomocą emulatora Androida możesz tworzyć emulacje urządzeń z Androidem, na których działają Twoje 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

Emulator Androida umożliwia uruchamianie emulacji urządzeń z Androidem na komputerach z systemem Windows, macOS lub Linux. Emulator Androida uruchamia system operacyjny Android na maszynie wirtualnej zwanej urządzeniem wirtualnym Android (AVD). AVD zawiera pełny stos oprogramowania Android i działa tak, jakby znajdował się na urządzeniu fizycznym. Rysunek 1 przedstawia schemat architektury wysokiego poziomu emulatora Androida. Aby uzyskać więcej informacji na temat emulatora, zobacz Uruchamianie aplikacji na 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 niektóre obrazy systemu. Możesz także tworzyć niestandardowe obrazy systemu AVD na podstawie kodu źródłowego i tworzyć emulacje urządzeń w celu ich uruchomienia.

Aby zbudować i uruchomić obraz systemu AVD:

  1. Pobierz źródło Androida:

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

    Jeśli chcesz zbudować inne wersje Androida, możesz znaleźć ich nazwy oddziałów w publicznym repozytorium Androida . Odwzorowują one nazwy kodowe, znaczniki i numery kompilacji systemu Android .

  2. Utwórz obraz systemu AVD. Jest to taki sam proces, jak tworzenie obrazu systemu urządzenia z systemem Android . Na przykład, aby zbudować 32-bitowy AVD x86:

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

    Jeśli wolisz zbudować 64-bitowy AVD x86, uruchom lunch dla docelowej wersji 64-bitowej:

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

    emulator
    

Aby uzyskać więcej informacji na temat uruchamiania emulatora, zobacz Opcje uruchamiania wiersza poleceń . 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 osobom do użytku w Android Studio

Postępuj zgodnie z poniższymi instrukcjami, aby udostępnić innym obrazy systemu AVD. Mogą używać 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 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 użyj polecenia sdk_repo :

    $ make -j32 sdk sdk_repo
    

    Komenda make sdk sdk_repo tworzy dwa pliki w aosp-main/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, który będzie używany jako adres URL obrazu systemu AVD .

  3. W przypadku Androida 12 i starszych edytuj odpowiednio plik 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.
    • Umieść plik repo-sys-img.xml w miejscu dostępnym dla użytkowników i pobierz jego adres URL, który będzie używany jako adres URL witryny aktualizacji niestandardowej .

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

  1. Dodaj adres URL witryny aktualizacji niestandardowej jako witrynę aktualizacji pakietu 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.

Dodanie obsługi wielu wyświetlaczy

Android 10 ulepsza obsługę wielu wyświetlaczy (MD), aby lepiej obsługiwać więcej zastosowań, takich jak tryb automatyczny i tryb stacjonarny. Emulator Androida obsługuje także emulację wielu wyświetlaczy. Możesz więc stworzyć specyficzne środowisko z wieloma wyświetlaczami bez konfigurowania prawdziwego sprzętu.

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

  • Dodaj dostawcę obsługi wielu wyświetlaczy do kompilacji, dodając te linie 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: