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.
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:
Pobierz źródło Androida:
mkdir aosp-android-latest-release; cd aosp-android-latest-releaserepo init -urepo 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.
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.shlunch sdk_phone_x86_64make -j32Uruchom 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:
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.
Utwórz dodatkowe pakiety
sdkisdk_repo:W przypadku Androida 13 i nowszych wersji użyj polecenia
emu_img_zip:$ make emu_img_zipSpowoduje 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_repoPolecenie
make sdk sdk_repotworzy 2 pliki w folderzeaosp-android-latest-release/out/host/linux-x86/sdk/sdk_phone_x86:sdk-repo-linux-system-images-eng.[username].ziprepo-sys-img.xml
Umieść plik
sdk-repo-linux-system-images-eng.[username].zipw miejscu dostępnym dla użytkowników i pobierz jego adres URL, aby użyć go jako adresu URL obrazu systemu AVD.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.xmlw miejscu dostępnym dla użytkowników i pobierz jego adres URL, aby użyć go jako adresu URL niestandardowej witryny aktualizacji.
- Zaktualizuj element
Aby użyć niestandardowego obrazu AVD, w Menedżerze SDK wykonaj te czynności:
Dodaj adres URL niestandardowej witryny aktualizacji jako witrynę aktualizacji SDK.
Spowoduje to dodanie niestandardowego obrazu systemu AVD do strony Obrazy systemu.
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 += MultiDisplayProviderWłą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: