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 .
Rysunek 1. Architektura emulatora Androida
Twórz obrazy 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:
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 .
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
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.
Rysunek 2. Emulator Androida z systemem AVD
Udostępniaj obrazy systemu AVD innym osobom do wykorzystania 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.
Utwórz dodatkowe pakiety
sdk
isdk_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 kataloguaosp-main/out/host/linux-x86/sdk/sdk_phone_x86
:-
sdk-repo-linux-system-images-eng.[username].zip
-
repo-sys-img.xml
-
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 .W przypadku Androida 12 i starszych edytuj odpowiednio
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ść
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 .
- Zaktualizuj
Aby użyć niestandardowego obrazu AVD, wykonaj następujące czynności w Menedżerze SDK:
Dodaj adres URL witryny aktualizacji niestandardowej jako witrynę aktualizacji pakietu SDK .
Spowoduje to dodanie niestandardowego obrazu systemu AVD do strony Obrazy systemu.
Utwórz AVD, pobierając i wybierając niestandardowy obraz systemu AVD.
Dodaj obsługę wielu wyświetlaczy
Android 10 usprawnia obsługę wielu wyświetlaczy (MD), aby lepiej obsługiwać większą liczbę przypadków użycia, 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 wielu wyświetlaczy, 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: