Aby korzystać z urządzeń wirtualnych systemu Android (AVD), emulator systemu Android obsługuje graficzny interfejs użytkownika (GUI) i interfejs wiersza poleceń (CLI). Wybierasz optymalny przepływ pracy dla swojego środowiska.
- Tworzenie i zarządzanie urządzeniami wirtualnymi GUI to proste narzędzie dostępne dla większości twórców aplikacji i użytkowników.
- Uruchomienie emulatora z wiersza poleceń zapewnia elastyczny sposób dla zaawansowanych użytkowników i automatyzacji. Na przykład, aby użyć wielu AVD lub skonfigurować ciągłe testowanie i ciągłą integrację. Aby rozpocząć, zobacz przykłady w narzędziach ).
Uruchom AOSP Car AVD, korzystając z gotowej wersji
Aby szybko uruchomić i przetestować wstępnie zbudowany AOSP Car AVD, użyj skryptu open source, aby pobrać i uruchomić kompilację emulatora z ci.android.com
. Skrypt został przetestowany na systemach macOS i Linux.
Aby skorzystać z tego skryptu, będziesz potrzebować Curla .
Aby uruchomić skrypt:
- Skopiuj zawartość skryptu
launch_emu.sh
do pliku lokalnego, zakładając, że używaszlaunch_emu.sh
jako nazwy pliku lokalnego. - Spraw, aby Twój lokalny skrypt był wykonywalny. Na przykład uruchom
chmod +x ./launch_emu.sh
. - Sprawdź dostępne opcje, uruchamiając skrypt za pomocą
./launch_emu.sh -h
. - Na
ci.android.com
przejdź do gałęziaosp-main-throttled
i wybierz najnowszą kompilację, w którejsdk_car_x86_64
jest zielony. Na przykład 11370359. Jeśli nie widzisz informacji o kompilacji, wyloguj się ze swojego 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 powyżej.
Aby określić opcje opcji uruchamiania wiersza poleceń emulatora Androida podczas uruchamiania emulatora, użyj opcji -v
. Na przykład:
./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"
Zbuduj AVD samochodu AOSP
Proces tworzenia AVD samochodu AOSP jest podobny do tworzenia obrazów AVD dla telefonu (na przykład aosp_car_x86_64):
- Aby skonfigurować środowisko programistyczne i zidentyfikować gałąź, zobacz Narzędzia kontroli źródła . Następnie przejrzyj 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 - Zbuduj obraz AVD:
. build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
- Uruchom obraz AVD (w razie potrzeby dołącz dodatkowe opcje uruchamiania wiersza poleceń ):
emulator &
Na przykład:
Rysunek 1. Ekran wirtualnego emulatora Androida
Uwagi dotyczące tego procesu:
- Ponieważ proces kompilacji jest taki sam, jak ten wymagany do zbudowania Androida na urządzenie fizyczne, poświęć trochę czasu na pobranie źródła, a następnie go skompiluj.
- Aby pracować na innych gałęziach, ustaw
$ANDROID_BRANCH
na inną gałąź/tag . - Obrazy AVD, takie jak
system.img
, są zbudowane w$ANDROID_PRODUCT_OUT
. Aby dowiedzieć się więcej o kluczowych obrazach, zobacz katalog systemu AVD . - Zobacz plik README , aby dowiedzieć się, w jaki sposób wstępnie skompilowane pliki binarne emulatora w drzewie Androida są używane do uruchamiania emulatora.
Utwórz AVD samochodu
Dodanie nowego AVD samochodu jest niemal identyczne z Dodawaniem Nowego Urządzenia . Na przykład 1660554 tworzy nowy plik AVD avd_car
.
Aby utworzyć AVD samochodu:
- W razie potrzeby utwórz folder firmowy i urządzenia. W tym przykładzie użyto
$ANDROID_BUILD_TOP/device/google_car/avd_car
. - Utwórz plik makefile produktu
avd_car.mk
, który definiuje sposób budowania AVD. - Utwórz folder urządzenia
avd_car_device
, w którym będą znajdować sięBoardConfig.mk
isource.properties
. - Dodaj nowy
makefile
i nowy wybórlunch
doAndroidProducts.mk
. - Aby zbudować i uruchomić nowy
avd_car
AVD:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
Spakuj plik zip obrazu AVD
Możesz spakować i udostępnić swój AVD innym lub używać go na innym komputerze. Użyj emu_img_zip.mk
aby wygenerować plik zip obrazu AVD:
- Po zbudowaniu AVD ustaw
emu_img_zip
jako cel:m emu_img_zip
- Plik zip obrazu AVD, poprzedzony prefiksem
sdk-repo-linux-system-images
, jest tworzony w folderze o nazwie$ANDROID_PRODUCT_OUT
.
Zbuduj jądro AVD
Jądra AVD są podobne do innych jąder Androida, ponieważ wszystkie są gotowymi obrazami. Zwykle można używać standardowych, gotowych obrazów jądra złotej rybki, takich jakie są dostępne w każdej wersji Androida.
Aby poeksperymentować ze zmianami w jądrze:
- Uruchom następującą serię instrukcji:
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/
- Zamień plik binarny jądra w bazie kodu zgodnie z plikiem make AVD. Na przykład
x86_64-vendor.mk
zawierax86_64-kernel.mk
.
Kod jądra i konfiguracja znajdują się w następujący sposób:
Przedmiot | Wartość |
---|---|
Oddział | common-android11-5.4 (używany w Androidzie 11) |
Oczywisty | kernel/manifest/common-android11-5.4 |
wspólne moduły/urządzenie-wirtualne | kernel/common-modules/virtual-device/android11-5.4 |
Jądro | kernel/common/android11-5.4 |
Utwórz nowy profil urządzenia
Aby umożliwić użytkownikom tworzenie określonego AVD w Android Studio AVD Manager, zobacz Tworzenie urządzeń wirtualnych i zarządzanie nimi . Twórcy urządzeń mogą definiować własne specyfikacje sprzętowe, takie jak rozmiar ekranu i DPI, korzystając z pliku devices.xml
zawartego w obrazie AVD.
- Na przykład zobacz profile urządzeń motoryzacyjnych w
automotive.xml
. - W celu opracowania lub prototypowania interfejsu HMI do pliku można dodać wiele urządzeń dla tego samego obrazu AVD.
- Dołącz plik do pliku ZIP obrazu OEM AVD w folderze
[ABI]
. Na przykład jakox86_64
. - Twórcy urządzeń mogą również utworzyć skórkę emulatora . Na przykład, aby zdefiniować dodatkowe przyciski sprzętowe w celu zapewnienia wyższej jakości UX. Jest to przydatne nie tylko w przepływach pracy programistów, ale także w innych zadaniach, takich jak badania i recenzje UX.
Utwórz plik XML obrazu AVD
Producenci urządzeń mogą utworzyć plik XML obrazu AVD dla Android Studio, aby go pobrać.
- Na przykład zobacz plik XML obrazu AAOS AVD,
sys-img2-1.xml
. - Producenci urządzeń mogą zdefiniować własną umowę licencyjną OEM AVD dla swoich docelowych użytkowników (korzystających z systemu honorowego) z licencją na emulator Androida. Android Studio uzyskuje konsensus użytkownika, jeśli taka licencja jest dołączona.
Aby utworzyć obraz:
- Przygotuj plik zip obrazu AVD.
- Rozpakuj
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip
. - Dodaj
devices.xml
do folderux86_64
, a następnie skompresuj plik w pliku ZIP. Na przykład jakooem_avd_img_x86_64.zip
. - Zaktualizuj
oem-sys-img2-1.xml
. - Zaktualizuj nazwę, rozmiar i shasum pliku zip (przykładowe pliki XML znajdują się w
tools
).
Na przykład, aby hostować AVD w Google Cloud Storage , zobacz Tworzenie zasobników pamięci .
Aby przesłać i udostępnić publicznie AVD, zobacz Upublicznianie danych :
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 SDK obrazu AVD jest następujący: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml
. Na przykład, jeśli NAZWA_BUCKETA to aaos-avd, adres URL to: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml
.
Udostępnij obraz AVD użytkownikom Android Studio
Aby użytkownicy mogli pobierać obrazy AVD i używać AVD w Android Studio, możesz udostępnić plik XML dodatku SDK. Aby uzyskać szczegółowe informacje, zobacz Aktualizowanie narzędzi IDE i SDK .
Aby pobrać AVD z sieci:
- Hostuj plik zip obrazu i pliki XML na serwerze.
- Podaj adres URL docelowym użytkownikom.
- ( Opcjonalnie ) Ogranicz dostęp według nazwy użytkownika i hasła.
Alternatywnie, aby przyspieszyć rozwój, pobierz AVD do lokalnego katalogu:
- Zapisz pliki XML i wszystkie artefakty określone w pliku XML w folderze (na przykład wszystkie pliki zip obrazów AVD) o nazwie
ADDON_DIR
. - Określ adres URL jako
file://$ADDON_DIR/oem-sys-img2-1.xml
.