Virtuelle Android-Geräte als Entwicklungsplattform

Wenn Sie Android Virtual Devices (AVDs) verwenden möchten, Android-Emulator unterstützt eine grafische Benutzeroberfläche (GUI) und eine Befehlszeile (Command Line Interface, CLI). Sie wählen die für Ihre Umgebung zu optimieren.

Starten Sie ein AOSP Car AVD mit vorgefertigten

Wenn du das vorgefertigte AOSP Car AVD schnell starten und testen möchtest, verwende ein Open-Source-Script zum Herunterladen und starten Sie einen Emulator-Build ci.android.com Das Skript wurde für macOS und Linux

Für dieses Script benötigen Sie Curl.

So führen Sie das Skript aus:

  1. Kopieren Sie die launch_emu.sh Skriptinhalte in Ihre lokale Datei einfügen, vorausgesetzt, Sie verwenden launch_emu.sh als den Namen der lokalen Datei.
  2. Machen Sie das lokale Skript ausführbar. Führen Sie beispielsweise chmod +x ./launch_emu.sh aus.
  3. Prüfen Sie die verfügbaren Optionen, indem Sie das Skript mit ./launch_emu.sh -h ausführen.
  4. Rufen Sie unter ci.android.com die aosp-main-throttled und wählen Sie einen aktuellen Build aus, in dem sdk_car_x86_64 ist grün. Beispiel: 11370359. Wenn Sie Build nicht sehen, melden Sie sich von Ihrem Google-Konto ab und versuchen Sie es noch einmal.
  5. Laden Sie die für den Emulator relevanten Binärdateien herunter und installieren Sie sie mit der Build-ID. Beispiel: ./launch_emu.sh -i -a 11370359
  6. Anschließend können Sie ./launch_emu.sh verwenden, um die heruntergeladene und installierte Anwendung zu starten. Emulator (verwenden Sie nicht die Optionen -i oder -a).
  7. Um eine weitere Build-ID herunterzuladen und zu installieren, führen Sie ./launch_emu.sh -c aus, um Ihre Arbeitsbereich und wiederholen Sie dann Schritt 4 und Schritt 5 oben.

Android-Emulator angeben Startoptionen der Befehlszeile beim Starten des Emulators die Option -v. Hier einige Beispiele:

  ./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"

AOSP Car AVD bauen

Der Prozess zur Erstellung eines AOSP Car AVD ähnelt dem AVD-Bilder für ein Smartphone erstellen (z. B. aosp_car_x86_64):

  1. Informationen zum Einrichten der Entwicklungsumgebung und zum Identifizieren eines Zweigs finden Sie unter Source Control Tools: Prüfen Sie dann Quelle herunterladen:
    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. Erstellen Sie das AVD-Image:
    . build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
  3. Führen Sie das AVD-Image aus (zusätzliche Startoptionen der Befehlszeile anhängen) nach Bedarf):
    emulator &

    Beispiel:

    Abbildung 1: Bildschirm für den virtuellen Android-Emulator

    Hinweise zu diesem Vorgang:

    • Weil der Build-Prozess mit dem für die Entwicklung von Android übereinstimmt für ein physisches Gerät haben, müssen Sie einige Zeit warten, um die Quelle herunterzuladen und anschließend zu erstellen.
    • Wenn Sie mit anderen Zweigen arbeiten möchten, setzen Sie $ANDROID_BRANCH auf einen anderen branch/tag angeben.
    • AVD-Bilder wie system.img werden mit $ANDROID_PRODUCT_OUT erstellt. Weitere Informationen zu wichtigen Images finden Sie unter AVD Systemverzeichnis.
    • Weitere Informationen finden Sie in der README-Datei, um zu erfahren, wie die Binärdateien des vordefinierten Emulators in Ihrer Android-Baumstruktur für Folgendes verwendet werden: führen Sie den Emulator aus.

Auto-AVD erstellen

Das Hinzufügen einer neuen AVD ist fast identisch mit Neues Gerät hinzufügen Beispiel: 1660554 erstellt eine neue avd_car-AVD.

So erstellen Sie eine Auto-AVD:

  1. Erstellen Sie nach Bedarf ein Unternehmen und einen Geräteordner. In diesem Beispiel wird $ANDROID_BUILD_TOP/device/google_car/avd_car
  2. Erstellen Sie das Produkt-Makefile „avd_car.mk“. Damit wird definiert, wie das AVD erstellt wird.
  3. Erstellen Sie den Geräteordner „avd_car_device“, in dem der Ordner gespeichert werden soll BoardConfig.mk und source.properties.
  4. Fügen Sie die neue makefile und die neue lunch-Auswahl zu AndroidProducts.mk
  5. So erstellen Sie das neue avd_car-AVD und führen es aus:
    . build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
Du bist jetzt bereit, auf deinem neuen AVD einen Prototyp für die meisten HMI- und App-Funktionen zu erstellen.

ZIP-Datei mit AVD-Bild packen

Du kannst dein AVD verpacken und mit anderen teilen oder mit einem anderen verwenden Computer. emu_img_zip.mk verwenden , um die ZIP-Datei mit dem AVD-Bild zu generieren:

  1. Nachdem Sie das AVD erstellt haben, legen Sie emu_img_zip als Ziel fest:
    m emu_img_zip
  2. Die ZIP-Datei mit dem AVD-Bild mit dem Präfix sdk-repo-linux-system-images ist die im Ordner $ANDROID_PRODUCT_OUT erstellt wurden.

AVD-Kernel erstellen

AVD-Kernels ähneln anderen Android-Kerneln insofern, als alle vorgefertigte Images sind. Normalerweise können Sie die vordefinierten Standard-Images für Goldfischkerne für jede Android-Version.

So experimentieren Sie mit Kernel-Änderungen:

  1. Führen Sie die folgenden Schritte aus:
    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. Ersetzen Sie die Kernel-Binärdatei in der Codebasis entsprechend dem AVD-Makefile. Beispiel: x86_64-vendor.mk enthält x86_64-kernel.mk.

Der Kernel-Code und die Kernel-Konfiguration befinden sich so:

Artikel Wert
Branch common-android11-5.4 (in Android 11 verwendet)
Manifest kernel/manifest/common-android11-5.4
gemeinsame-module/virtuelles-gerät kernel/common-modules/virtual-device/android11-5.4
Kernel kernel/common/android11-5.4

Neues Geräteprofil erstellen

Informationen zum Erstellen einer bestimmten AVD im AVD-Manager in Android Studio findest du unter Virtuelle Geräte erstellen und verwalten Gerätehersteller können ihre eigenen Hardwarespezifikationen definieren, z. B. für Bildschirmgröße und DPI-Wert, durch Verwendung einer devices.xml-Datei im AVD-Bild.

  • Sieh dir beispielsweise die Profile für Automobilgeräte in automotive.xml an.
  • Für die HMI-Entwicklung oder das Prototyping können dem für dasselbe AVD-Bild.
  • Lege die Datei in der ZIP-Datei mit der OEM-AVD-Bilddatei im Ordner [ABI] ab. Beispiel: x86_64.
  • Gerätehersteller können auch ein Emulator-Skin. Zum Beispiel, um zusätzliche Hardwaretasten für eine höhere UX zu definieren. Dies ist nicht nur für Entwicklungs-Workflows nützlich, sondern auch für andere Aufgaben wie die UX-Forschung und überprüfen.

AVD-Bild-XML-Datei erstellen

Gerätehersteller können eine AVD-Bild-XML-Datei für Android Studio erstellen und herunterladen .

  • Sehen Sie sich als Beispiel die AAOS-AVD-Bild-XML-Datei sys-img2-1.xml an.
  • Gerätehersteller können eine eigene OEM-AVD-Lizenzvereinbarung für ihre Zielnutzer definieren. (Nutzung des Ehrensystems) mit der Lizenz für Android Emulator. Android-Geräte Studio erhält den Konsens der Nutzer, wenn eine solche Lizenz enthalten ist.

So erstellen Sie das Image:

  1. Bereiten Sie eine ZIP-Datei mit dem AVD-Bild vor.
  2. Entpacken Sie ${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip.
  3. Fügen Sie devices.xml dem Ordner x86_64 hinzu und komprimieren Sie die Datei im als Zip-Datei. Beispiel: oem_avd_img_x86_64.zip.
  4. oem-sys-img2-1.xml aktualisieren.
  5. Aktualisieren Sie den Namen, die Größe und das Shasum der ZIP-Datei (Beispiel-XML-Dateien finden Sie in tools.

Um die AVD beispielsweise in Google Cloud Storage zu hosten, Siehe Erstellen von Storage-Buckets

Informationen zum Hochladen und öffentlich zugänglichen AVD findest du unter Daten öffentlich machen:

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

Das URL-Format des AVD Image SDK-Add-ons lautet: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml. Wenn BUCKET_NAME beispielsweise "aaos-avd" ist, lautet die URL https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml.

AVD-Bild mit Android Studio-Nutzern teilen

Damit Ihre Nutzer AVD-Bilder herunterladen und das AVD von Android Studio verwenden können, haben Sie folgende Möglichkeiten: eine SDK-Add-on-XML-Datei bereitstellen. Weitere Informationen finden Sie unter Aktualisieren Sie die IDE und die SDK-Tools.

So lädst du das AVD aus dem Netzwerk herunter:

  1. Hosten Sie die ZIP-Datei und die XML-Dateien auf einem Server.
  2. Stellen Sie den Zielnutzern die URL zur Verfügung.
  3. Optional: Beschränken Sie den Zugriff anhand von Nutzernamen und Passwort.

Alternativ können Sie das AVD in ein lokales Verzeichnis herunterladen, um die Entwicklung zu beschleunigen:

  1. Speichere die XML-Dateien und alle in der XML-Datei angegebenen Artefakte in einem Ordner (zum Beispiel alle ZIP-Dateien mit AVD-Bilddateien) mit dem Namen ADDON_DIR.
  2. Gib die URL als file://$ADDON_DIR/oem-sys-img2-1.xml an.