Za pomocą emulatora Androida możesz emulować urządzenia z Androidem, na których działają Twoje niestandardowe obrazy systemu Android. Możesz też udostępniać niestandardowe obrazy systemu Android, aby inni mogli je emulować. W możesz dodać obsługę wielu wyświetlaczy do emulatora Androida. za pomocą emulacji.
Architektura emulatora Androida
Emulator Androida umożliwia uruchamianie emulacji urządzeń z Androidem w systemie Windows, Maszyny z systemem macOS lub Linux. Emulator Androida uruchamia system operacyjny Android na maszynie wirtualnej zwanej urządzeniem wirtualnym z Androidem (AVD). AVD zawiera pełne oprogramowanie Android i działa tak, jakby z urządzeń fizycznych. Rysunek 1 przedstawia ogólną architekturę emulatora Androida. Więcej informacji o emulatorze znajdziesz tutaj Uruchamianie aplikacji przy użyciu 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 obrazów systemu AVD z kodu źródłowego i utworzenia emulacji urządzeń, aby je uruchomić.
Aby skompilować i uruchomić obraz systemu AVD:
Pobierz aplikację źródłową na Androida:
mkdir aosp-main; cd aosp-main
repo init -u
repo sync -j24
Jeśli chcesz kompilować inne wersje Androida, nazwy ich gałęzi znajdziesz w publicznym repozytorium Androida. Odpowiadają one kryptonimowi, tagowi i numerowi kompilacji Androida.
Tworzenie obrazu systemu AVD. To taki sam proces jak tworzenie System Android . Aby na przykład utworzyć 32-bitowy AVD x86:
mkdir aosp-main; cd aosp-main
source ./build/envsetup.sh
lunch sdk_phone_x86
make -j32
Jeśli wolisz skompilować 64-bitową wersję AVD dla procesora x86, uruchom
lunch
dla 64-bitowego celu:lunch sdk_phone_x86_64
Uruchom obraz systemu AVD w Emulatorze Androida:
emulator
Zobacz Opcje uruchamiania wiersza poleceń , aby dowiedzieć się więcej o uruchamianiu emulatora. Na rysunku 2 widać przykład emulatora Androida uruchamiającego AVD.
Rysunek 2. Emulator Androida uruchamiający AVD
Udostępnianie obrazów systemu AVD innym osobom w Android Studio
Aby udostępnić innym obrazy systemu AVD, wykonaj te czynności. Mogą oni używać obrazów systemowych AVD w Android Studio do tworzenia i testowania aplikacji.
Utwórz dodatkowe pakiety
sdk
isdk_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 folderzeaosp-main/out/host/linux-x86/sdk/sdk_phone_x86
:sdk-repo-linux-system-images-eng.[username].zip
repo-sys-img.xml
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.W przypadku Androida 12 i starszych wersji edytuj
repo-sys-img.xml
odpowiednio:- Zaktualizuj atrybut
<sdk:url>
, podając adres URL obrazu systemu AVD. - Zobacz sdk-sys-img-03.xsd , aby dowiedzieć się o innych aktualizacjach pliku.
- Umieść stronę
repo-sys-img.xml
w miejscu dostępnym dla użytkowników i uzyskaj adres URL, który będziesz używać jako niestandardowy adres URL strony z aktualizacjami.
- Zaktualizuj atrybut
Aby użyć niestandardowego obrazu AVD, wykonaj te czynności w Menedżerze pakietów SDK:
Dodaj adres URL witryny aktualizacji niestandardowej jako aktualizację pakietu SDK
Spowoduje to dodanie niestandardowego obrazu systemu AVD do strony Obrazy systemowe.
Utwórz AVD, pobierając i wybierając niestandardowy obraz systemu AVD.
Dodawanie obsługi wielu wyświetlaczy
Android 10 ulepsza obsługę wielu wyświetlaczy (MD), aby lepiej obsługiwać różne przypadki użycia, takie jak tryb samochodowy i tryb pulpitu. Emulator Androida obsługuje też emulację wielu wyświetlaczy. Dzięki temu możesz tworzyć określone środowisko z wieloma wyświetlaczami bez 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 do kompilacji dostawcę usług na wielu ekranach, 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
Aby włączyć flagę funkcji wielu wyświetlaczy, dodaj do pliku ten wiersz:
device/generic/goldfish/data/etc/advancedFeatures.ini
MultiDisplay = on
Najnowsze funkcje emulatora i informacje o wersjach znajdziesz tutaj następujące źródła: