urządzenie wirtualne z Androidem jako platforma programistyczna,

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.

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:

  1. Skopiuj zawartość skryptu launch_emu.sh do pliku lokalnego, zakładając, że używasz nazwy pliku lokalnego launch_emu.sh.
  2. Utwórz lokalny skrypt wykonywalny. Na przykład uruchom chmod +x ./launch_emu.sh.
  3. Sprawdź dostępne opcje, uruchamiając skrypt za pomocą ./launch_emu.sh -h.
  4. Na stronie ci.android.com przejdź do gałęzi aosp-main-throttled i wybierz najnowszą wersję kompilacji, w której sdk_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.
  5. Pobierz i zainstaluj pliki binarne związane z emulatorem z identyfikatorem kompilacji. Na przykład:./launch_emu.sh -i -a 11370359.
  6. Następnie możesz użyć ./launch_emu.sh, aby uruchomić pobrany i zainstalowany emulator (nie używaj opcji -i ani -a).
  7. 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):

  1. 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
  2. Utwórz obraz AVD:
    . build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
  3. 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:

  1. 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.
  2. Utwórz makefile usługi, avd_car.mk, który określa sposób kompilowania AVD.
  3. Utwórz folder urządzenia avd_car_device, w którym będą się znajdować foldery BoardConfig.mk i source.properties.
  4. Dodaj nowe opcje makefilelunch do pola AndroidProducts.mk.
  5. Aby skompilować i uruchomić nowy avd_car AVD:
    . build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
Gotowy prototyp większości funkcji HMI i aplikacji możesz teraz testować na nowym AVD.

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:

  1. Po utworzeniu AVD ustaw emu_img_zip jako cel:
    m emu_img_zip
  2. 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:

  1. 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/
  2. 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ład x86_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:

  1. Przygotuj plik zip z obrazem AVD.
  2. rozpakuj plik ${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip.
  3. Dodaj plik devices.xml do folderu x86_64, a następnie skompresuj go do pliku ZIP. Na przykład oem_avd_img_x86_64.zip.
  4. Zaktualizuj oem-sys-img2-1.xml.
  5. 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:

  1. Przechowuj plik ZIP obrazu i pliki XML na serwerze.
  2. Przekaż adres URL docelowym użytkownikom.
  3. (Opcjonalnie) Ogranicz dostęp na podstawie nazwy użytkownika i hasła.

Aby przyspieszyć proces tworzenia, możesz też pobrać AVD do katalogu lokalnego:

  1. Zapisz pliki XML i wszystkie artefakty określone w pliku XML w folderze (np. wszystkie pliki ZIP z obrazami AVD) o nazwie ADDON_DIR.
  2. Podaj adres URL jako file://$ADDON_DIR/oem-sys-img2-1.xml.