Używanie urządzeń wirtualnych emulatora Androida

Emulator Androida pozwala tworzyć emulacje urządzeń z Androidem z własnymi obrazami systemu Android. W możesz dodać obsługę wielu wyświetlaczy do emulatora Androida. za pomocą emulacji.

Architektura emulatora Androida

Emulator Androida pozwala uruchamiać emulator Androida w maszynie wirtualnej nazywanej urządzeniem wirtualnym z Androidem (AVD). Każdy średni czas oglądania zawiera pełną stosu oprogramowania Android i działa tak, jakby z urządzeń fizycznych. Rysunek 1 ilustruje funkcję emulatora Androida i ogólną architekturę. Więcej informacji o emulatorze znajdziesz tutaj Uruchamianie aplikacji przy użyciu emulatora Androida.

Architektura emulatora Androida.

Rysunek 1. Architektura emulatora Androida.

Utwórz obrazy AVD

Każdy program AVD zawiera obraz systemu Android, który jest uruchamiany to AVD. Menedżer AVD zawiera obrazy systemu. Możesz też tworzyć własne Obrazy systemu AVD z kodu źródłowego i tworzenie emulacji urządzeń do uruchomienia .

Aby skompilować i uruchomić obraz systemu AVD:

  1. Pobierz aplikację źródłową na Androida:

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

Jeśli chcesz utworzyć inne wersje Androida, ich nazwy znajdziesz w publicznego repozytorium Androida. Są one mapowane na Kryptonimy, tagi i numery kompilacji Androida.

  1. Tworzenie obrazu systemu AVD. To taki sam proces jak tworzenie System Android . Aby na przykład utworzyć 64-bitowy AVD x86:

    source ./build/envsetup.sh
    lunch sdk_phone_x86_64
    make -j32
    
  2. Uruchom obraz systemu AVD w emulatorze Androida:

    emulator
    

Zobacz Opcje uruchamiania wiersza poleceń , aby dowiedzieć się więcej o uruchamianiu emulatora. Rysunek 2 pokazuje przykładowy Emulator Androida uruchamiający AVD:

Emulator Androida uruchamiający AVD.

Rysunek 2. Emulator Androida uruchamiający AVD.

Udostępnianie obrazów systemu AVD innym osobom w Android Studio

Aby udostępnić obrazy systemu AVD innym osobom, wykonaj te czynności: Mogą używanie obrazów systemu AVD w Androidzie Studio, by tworzyć i testować aplikacje.

  1. Utwórz dodatkowe pakiety sdk i sdk_repo:

    W przypadku Androida 13 lub nowszego użyj aplikacji emu_img_zip polecenie:

    $ 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 aplikacji sdk_repo polecenie:

    $ make -j32 sdk sdk_repo
    

    Polecenie make sdk sdk_repo tworzy 2 pliki w domenie aosp-main/out/host/linux-x86/sdk/sdk_phone_x86:

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

  3. W przypadku Androida 12 i starszych wersji wprowadź odpowiednie zmiany w polu repo-sys-img.xml:

    • Zaktualizuj atrybut <sdk:url>, podając adres URL obrazu systemu AVD.
    • Zobacz sdk-sys-img-03.xsd , aby dowiedzieć się o innych aktualizacjach pliku.
    • Hostuj aplikację repo-sys-img.xml w miejscu dostępnym dla użytkowników i uzyskaj Adres URL, który ma być używany jako URL witryny aktualizacji niestandardowej.

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

  1. Dodaj URL witryny aktualizacji niestandardowej jako atrybut Witryna aktualizacji pakietu SDK.

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

  2. Tworzenie raportu AVD pobierając i wybierając niestandardowy obraz systemu AVD.

Dodawanie obsługi wielu wyświetlaczy

Android 10 ulepszenie wyświetlania na wielu ekranach aby lepiej obsługiwać więcej zastosowań, takich jak tryb automatyczny i komputer. Android, Emulator obsługuje też emulację wielu wyświetlaczy. Możesz więc utworzyć określony z obsługą wielu wyświetlaczy bez konieczności konfigurowania rzeczywistego sprzętu.

Aby włączyć obsługę wielu wyświetlaczy w AVD, wprowadź następujące zmiany lub z wiśni te listy zmian.

  • Dodaj dostawcę wyświetlania na wielu ekranach 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 ten wiersz do pliku device/generic/goldfish/data/etc/advancedFeatures.ini:

    MultiDisplay = on
    

Najnowsze funkcje emulatora i informacje o wersjach znajdziesz tutaj następujące źródła: