Aby korzystać z urządzeń wirtualnych Androida (AVD), emulator Androida obsługuje interfejs graficzny (GUI) i interfejs wiersza poleceń (CLI). Wybierasz optymalny przepływ pracy dla swojego środowiska.
- Tworzenie urządzeń wirtualnych i zarządzanie nimi GUI to proste narzędzie przeznaczone dla większości deweloperów i użytkowników aplikacji.
- Uruchamianie emulatora z poziomu wiersza poleceń zapewnia elastyczność dla zaawansowanych użytkowników i automatyzacji. Możesz na przykład używać wielu AVD lub konfigurować ciągłe testowanie i ciągłą integrację. Aby rozpocząć, zapoznaj się z przykładami w sekcji Narzędzia.
Uruchamianie AOSP Car AVD za pomocą gotowego pakietu
Aby szybko uruchomić i przetestować gotową wersję AOSP Car AVD, użyj skryptu open source, aby pobrać i uruchomić wersję emulatora z adresu ci.android.com
. Skrypt został przetestowany w systemach macOS i Linux.
Aby użyć tego skryptu, musisz mieć zainstalowaną bibliotekę curl.
Aby uruchomić skrypt:
- Skopiuj zawartość skryptu
launch_emu.sh
do pliku lokalnego, zakładając, że używasz nazwy pliku lokalnegolaunch_emu.sh
. - Utwórz lokalny skrypt wykonywalny. Na przykład uruchom
chmod +x ./launch_emu.sh
. - Sprawdź dostępne opcje, uruchamiając skrypt za pomocą
./launch_emu.sh -h
. - Na stronie
ci.android.com
przejdź do gałęziaosp-main-throttled
i wybierz najnowszą wersję kompilacji, w którejsdk_car_x86_64
jest zielona. Na przykład 11370359. Jeśli nie widzisz informacji o kompilacji, wyloguj się z konta Google i spróbuj ponownie. - Pobierz i zainstaluj pliki binarne związane z emulatorem z identyfikatorem kompilacji. Na przykład:
./launch_emu.sh -i -a 11370359
. - Następnie możesz użyć
./launch_emu.sh
, aby uruchomić pobrany i zainstalowany emulator (nie używaj opcji-i
ani-a
). - Aby pobrać i zainstalować inny identyfikator kompilacji, uruchom
./launch_emu.sh -c
, aby wyczyścić obszar roboczy, a następnie powtórz kroki 4 i 5 opisane powyżej.
Aby podczas uruchamiania emulatora Androida określić opcje uruchamiania z poziomu wiersza poleceń, użyj opcji -v
. Przykład:
./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"
Tworzenie AVD dla samochodów w systemie AOSP
Proces kompilacji AVD dla AOSP Car jest podobny do kompilowania obrazów AVD dla telefonu (np. aosp_car_x86_64):
- Aby skonfigurować środowisko programistyczne i określić gałąź, przeczytaj artykuł Narzędzia kontroli wersji. Następnie zapoznaj się z sekcją Pobieranie źródła:
ANDROID_BRANCH="android12L-release"
REPO_URL="https://android.googlesource.com/platform/manifest"
mkdir $ANDROID_BRANCH && cd $ANDROID_BRANCH && repo init -u $REPO_URL -b $ANDROID_BRANCH --partial-clone && repo sync -c -j8 - Utwórz obraz AVD:
. build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
- Uruchom obraz AVD (w razie potrzeby dodaj dodatkowe opcje uruchamiania z wiersza poleceń):
emulator &
Przykład:
Rysunek 1. Ekran wirtualnego emulatora Androida
Uwagi dotyczące tego procesu:
- Proces kompilacji jest taki sam jak w przypadku kompilacji Androida na urządzenie fizyczne, więc musisz zaczekać chwilę na pobranie kodu źródłowego i następnie na jego skompilowanie.
- Aby pracować nad innymi gałęziami, ustaw
$ANDROID_BRANCH
na inną gałąź lub etykietę. - Obrazy AVD, takie jak
system.img
, są tworzone w$ANDROID_PRODUCT_OUT
. Więcej informacji o kluczowych obrazach znajdziesz w katalogu systemowym AVD. - Aby dowiedzieć się, jak gotowe binarne pliki emulatora w drzewie Androida są używane do uruchamiania emulatora, zapoznaj się z plikiem README.
Tworzenie AVD samochodu
Dodawanie nowego AVD samochodu jest prawie identyczne jak dodawanie nowego urządzenia. Na przykład:
1660554
tworzy nową avd_car
AVD.
Aby utworzyć AVD samochodu:
- W razie potrzeby utwórz folder firmy i urządzenia. W tym przykładzie użyto znacznika
$ANDROID_BUILD_TOP/device/google_car/avd_car
. - Utwórz makefile usługi,
avd_car.mk
, który określa sposób kompilowania AVD. - Utwórz folder urządzenia
avd_car_device
, w którym będą się znajdować folderyBoardConfig.mk
isource.properties
. - Dodaj nowe opcje
makefile
ilunch
do polaAndroidProducts.mk
. - Aby skompilować i uruchomić nowy
avd_car
AVD:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
Pakowanie pliku ZIP obrazu AVD
Możesz spakować i udostępnić swoje AVD innym osobom lub użyć go na innym komputerze. Użyj polecenia emu_img_zip.mk
, aby wygenerować plik obrazu AVD w formacie ZIP:
- Po utworzeniu AVD ustaw
emu_img_zip
jako cel:m emu_img_zip
- Plik ZIP obrazu AVD z preiksem
sdk-repo-linux-system-images
jest tworzony w folderze o nazwie$ANDROID_PRODUCT_OUT
.
Tworzenie jądra AVD
Rdzenie AVD są podobne do innych rdzeni Androida, ponieważ są to wstępnie utworzone obrazy. Zwykle możesz używać standardowych gotowych obrazów z jądrem goldfish z każdej wersji Androida.
Aby eksperymentować ze zmianami jądra:
- Wykonaj te instrukcje:
mkdir goldfish-kernel-54 cd goldfish-kernel-54 repo init -u https://android.googlesource.com/kernel/manifest -b common-android11-5.4 repo sync BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh BUILD_CONFIG=common-modules/virtual-device/build.config.goldfish.x86_64 build/build.sh ls -l ./out/android11-5.4/dist/
- Zastąp binarne jądro w kodzie źródłowym zgodnie z makefile AVD. Na przykład:
x86_64-vendor.mk
x86_64-kernel.mk
.
Kod i konfiguracja jądra znajdują się w tych miejscach:
Produkt | Wartość |
---|---|
Oddział | common-android11-5.4 (używany w Androidzie 11) |
Plik manifestu | kernel/manifest/common-android11-5.4 |
common-modules/virtual-device | kernel/common-modules/virtual-device/android11-5.4 |
Bąbelki | kernel/common/android11-5.4 |
Tworzenie nowego profilu urządzenia
Aby umożliwić użytkownikom tworzenie określonego urządzenia AVD w Menedżerze urządzeń AVD w Android Studio, zapoznaj się z artykułem Tworzenie urządzeń wirtualnych i zarządzanie nimi.
Producenci urządzeń mogą definiować własne specyfikacje sprzętowe, takie jak rozmiar ekranu i DPI, za pomocą pliku devices.xml
dołączonego do obrazu AVD.
- Przykładem są profile urządzeń samochodowych w
automotive.xml
. - W przypadku tworzenia interfejsu HMI lub prototypowania do pliku obrazu AVD można dodać wiele urządzeń.
- Umieść plik w pliku ZIP obrazu OEM AVD w folderze
[ABI]
. Na przykładx86_64
. - Producenci urządzeń mogą też utworzyć skórkę dla emulatora. Na przykład, aby zdefiniować dodatkowe przyciski sprzętowe, które zapewnią wyższą jakość interfejsu. Jest to przydatne nie tylko w procesach deweloperskich, ale też w przypadku innych zadań, takich jak badania i sprawdzanie UX.
Tworzenie pliku XML obrazu AVD
Producenci urządzeń mogą utworzyć plik XML obrazu AVD, który można pobrać w Android Studio.
- Przykładem może być plik XML obrazu AAOS AVD,
sys-img2-1.xml
. - Producenci urządzeń mogą określić własne umowy licencyjne OEM dotyczące AVD dla docelowych użytkowników (z wykorzystaniem systemu honorowego) z licencją na emulatora Androida. Android Studio uzyskuje zgodę użytkownika, gdy taka licencja jest uwzględniona.
Aby utworzyć obraz:
- Przygotuj plik zip z obrazem AVD.
- rozpakuj plik
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip
. - Dodaj plik
devices.xml
do folderux86_64
, a następnie skompresuj go do pliku ZIP. Na przykładoem_avd_img_x86_64.zip
. - Zaktualizuj
oem-sys-img2-1.xml
. - Zaktualizuj nazwę, rozmiar i wartość shasum pliku zip (przykładowe pliki XML znajdziesz na stronie
tools
).
Aby na przykład hostować AVD w Google Cloud Storage, zapoznaj się z artykułem Tworzenie zasobników pamięci masowej.
Aby przesłać i udostępnić publicznie AVD, wykonaj te czynności: Udostępnianie danych publicznie:
BUCKET_NAME="aaos-avd" gsutil mb gs://$BUCKET_NAME gsutil cp oem_avd_img_x86_64.zip gs://$BUCKET_NAME gsutil cp oem-sys-img2-1.xml gs://$BUCKET_NAME gsutil iam ch allUsers:objectViewer gs://$BUCKET_NAME
Format adresu URL dodatku pakietu SDK obrazu AVD: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml
.
Jeśli na przykład BUCKET_NAME to aaos-avd, adres URL będzie wyglądał tak: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml
.
Udostępnianie użytkownikom Android Studio obrazu AVD
Aby umożliwić użytkownikom pobieranie obrazów AVD i używanie AVD w Android Studio, możesz udostępnić plik XML dodatku SDK. Więcej informacji znajdziesz w artykule Aktualizowanie narzędzi IDE i SDK.
Aby pobrać AVD z sieci:
- Przechowuj plik ZIP obrazu i pliki XML na serwerze.
- Przekaż adres URL docelowym użytkownikom.
- (Opcjonalnie) Ogranicz dostęp na podstawie nazwy użytkownika i hasła.
Aby przyspieszyć proces tworzenia, możesz też pobrać AVD do katalogu lokalnego:
- Zapisz pliki XML i wszystkie artefakty określone w pliku XML w folderze (np. wszystkie pliki ZIP z obrazami AVD) o nazwie
ADDON_DIR
. - Podaj adres URL jako
file://$ADDON_DIR/oem-sys-img2-1.xml
.