Geliştirme platformu olarak Android Sanal Cihazı

Android sanal cihazları (AVD'ler) kullanmak için Android Emulator, grafik kullanıcı arayüzü (GUI) ve komut satırı arayüzü (KSA) desteği sunar. Ortamınız için en uygun iş akışını seçersiniz.

Önceden derlenmiş sürümleri kullanarak AOSP Car AVD'yi başlatma

Önceden derlenmiş AOSP Car AVD'yi hızlı bir şekilde başlatmak ve test etmek için ci.android.com adresinden bir emülatör derlemesini indirip başlatmak üzere açık kaynak bir komut dosyası kullanın. Komut dosyası macOS ve Linux'ta test edilmiştir.

Bu komut dosyasını kullanmak için Curl'e ihtiyacınız vardır.

Komut dosyasını çalıştırmak için:

  1. Yerel dosya adı olarak launch_emu.sh kullandığınız varsayılarak launch_emu.sh komut dosyası içeriğini yerel dosyanıza kopyalayın.
  2. Yerel komut dosyanızı yürütülebilir hale getirin. Örneğin, chmod +x ./launch_emu.sh dosyasını çalıştırın.
  3. Komut dosyasını ./launch_emu.sh -h ile çalıştırarak mevcut seçenekleri kontrol edin.
  4. ci.android.com'da aosp-main-throttled şubesine gidin ve sdk_car_x86_64'in yeşil olduğu son bir derlemeyi seçin. Örneğin, 11370359. Derleme bilgilerini görmüyorsanız Google Hesabınızın oturumunu kapatıp tekrar deneyin.
  5. Derleme kimliğiyle birlikte emülatörle ilgili ikili dosyaları indirip yükleyin. Örneğin, ./launch_emu.sh -i -a 11370359.
  6. Ardından, indirilen ve yüklenen emülatörü başlatmak için ./launch_emu.sh simgesini kullanabilirsiniz (-i veya -a seçeneklerini kullanmayın).
  7. Başka bir derleme kimliğini indirip yüklemek için çalışma alanınızı temizlemek üzere ./launch_emu.sh -c'yi çalıştırın ve ardından yukarıdaki 4. ve 5. adımları tekrarlayın.

Emülatörü başlatırken Android emülatör komut satırı başlangıç seçeneklerini belirtmek için -v seçeneğini kullanın. Örnek:

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

AOSP Car AVD oluşturma

AOSP Car AVD oluşturma işlemi, telefon için AVD resimleri oluşturmaya (örneğin, aosp_car_x86_64) benzerdir:

  1. Geliştirme ortamını ayarlamak ve bir dal tanımlamak için Kaynak Kontrol Araçları başlıklı makaleyi inceleyin. Ardından Kaynağı İndirme bölümünü inceleyin:
    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. AVD görüntüsünü oluşturun:
    . build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
  3. AVD görüntüsünü çalıştırın (gerekirse ek Komut satırı başlatma seçenekleri ekleyin):
    emulator &

    Örnek:

    Şekil 1. Android Virtual Emulator ekranı

    Bu işlemle ilgili notlar:

    • Derleme işlemi, fiziksel bir cihaz için Android derleme işlemiyle aynı olduğundan, kaynağı indirip derlemesi için biraz bekleyin.
    • Diğer dallarda çalışmak için $ANDROID_BRANCH'ü başka bir dal/etiket olarak ayarlayın.
    • system.img gibi AVD resimleri $ANDROID_PRODUCT_OUT'te oluşturulur. Anahtar resimler hakkında daha fazla bilgi edinmek için AVD sistem dizinine bakın.
    • Android ağacınızdaki önceden derlenmiş emülatör ikili dosyalarının emülatörü çalıştırmak için nasıl kullanıldığını öğrenmek üzere README dosyasını inceleyin.

Araba AVD'si oluşturma

Yeni bir araç AVD ekleme işlemi, Yeni Cihaz Ekleme ile neredeyse aynıdır. Örneğin, 1660554 yeni bir avd_car AVD oluşturur.

Araba AVD'si oluşturmak için:

  1. Gerekirse bir şirket ve cihaz klasörü oluşturun. Bu örnekte $ANDROID_BUILD_TOP/device/google_car/avd_car kullanılmaktadır.
  2. AVD'nin nasıl derleneceğini tanımlayan ürün makefile'ini (avd_car.mk) oluşturun.
  3. BoardConfig.mk ve source.properties dosyalarını barındıracak bir cihaz klasörü (avd_car_device) oluşturun.
  4. Yeni makefile ve yeni lunch seçeneğini AndroidProducts.mk'ye ekleyin.
  5. Yeni avd_car AVD'yi oluşturmak ve çalıştırmak için:
    . build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
Artık yeni AVD'nizde çoğu HMI ve uygulama özelliğinin prototipini oluşturmaya hazırsınız.

AVD resim ZIP dosyasını paketleme

AVD'nizi paketleyip başkalarıyla paylaşabilir veya başka bir bilgisayarda kullanabilirsiniz. AVD resim zip dosyasını oluşturmak için emu_img_zip.mk'ı kullanın:

  1. AVD'yi oluşturduktan sonra emu_img_zip'yi hedef yapın:
    m emu_img_zip
  2. Önünde sdk-repo-linux-system-images bulunan AVD resim zip dosyası, $ANDROID_PRODUCT_OUT adlı klasörde oluşturulur.

AVD çekirdeği oluşturma

AVD çekirdekleri, tümü önceden oluşturulmuş görüntüler olması bakımından diğer Android çekirdeklerine benzer. Normalde, her Android sürümündeki standart goldfish çekirdeği önceden oluşturulmuş resimlerini olduğu gibi kullanabilirsiniz.

Çekirdek değişikliklerini denemek için:

  1. Aşağıdaki talimat dizisini çalıştırın:
    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. Kod tabanındaki çekirdek ikilisini AVD makefile'ine göre değiştirin. Örneğin, x86_64-vendor.mk x86_64-kernel.mk içerir.

Çekirdek kodu ve yapılandırması şu şekilde bulunur:

Öğe Değer
Şube common-android11-5.4 (Android 11'de kullanılır)
Manifest kernel/manifest/common-android11-5.4
common-modules/virtual-device kernel/common-modules/virtual-device/android11-5.4
Patlayan mısır kernel/common/android11-5.4

Yeni cihaz profili oluşturma

Kullanıcıların Android Studio AVD Yöneticisi'nde belirli bir AVD oluşturmasını sağlamak için Sanal cihaz oluşturma ve yönetme başlıklı makaleyi inceleyin. Cihaz üreticileri, AVD resmine dahil edilen bir devices.xml dosyası kullanarak ekran boyutu ve DPI gibi kendi donanım özelliklerini tanımlayabilir.

  • Örneğin, automotive.xml'teki Otomotiv cihaz profillerine bakın.
  • HMI geliştirme veya prototip oluşturma için aynı AVD resmine ait dosyaya birden fazla cihaz eklenebilir.
  • Dosyayı [ABI] klasöründeki OEM AVD görüntü zip dosyasına ekleyin. Örneğin, x86_64 olarak.
  • Cihaz üreticileri emülatör kaplaması da oluşturabilir. Örneğin, daha yüksek kaliteli kullanıcı deneyimi için ek donanım düğmeleri tanımlamak. Bu, yalnızca geliştirici iş akışları için değil, kullanıcı deneyimi araştırması ve inceleme gibi diğer görevler için de yararlıdır.

AVD görüntü XML dosyasını oluşturma

Cihaz üreticileri, Android Studio'nun indirmesi için bir AVD Görüntüsü XML dosyası oluşturabilir.

  • Örneğin, AAOS AVD görüntü XML dosyasına (sys-img2-1.xml) bakın.
  • Cihaz üreticileri, Android Emulator lisansıyla hedef kullanıcıları için kendi OEM AVD lisans sözleşmelerini (dürüstlük sistemini kullanarak) tanımlayabilir. Android Studio, bu tür bir lisans dahil edildiğinde kullanıcılardan onay alır.

Resmi oluşturmak için:

  1. AVD görüntüsünü içeren bir ZIP dosyası hazırlayın.
  2. ${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip dosyasını arşivden çıkarın.
  3. devices.xml dosyasını x86_64 klasörüne ekleyin ve dosyayı bir ZIP dosyası olarak sıkıştırın. Örneğin, oem_avd_img_x86_64.zip olarak.
  4. oem-sys-img2-1.xml adlı cihazı güncelleyin.
  5. ZIP dosyasının adını, boyutunu ve shasum'unu güncelleyin ( tools bölümünde örnek XML dosyaları sağlanmıştır).

Örneğin, AVD'yi Google Cloud Storage'da barındırmak için Depolama alanı paketleri oluşturma başlıklı makaleyi inceleyin.

AVD'yi yüklemek ve herkese açık hale getirmek için Verileri herkese açık hale getirme bölümüne bakın:

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

AVD resim SDK'sı eklenti URL'si biçimi: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml. Örneğin, BUCKET_NAME aaos-avd ise URL: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml şeklindedir.

AVD imajını Android Studio kullanıcılarıyla paylaşma

Kullanıcılarınızın AVD resimlerini indirip Android Studio ile AVD'nizi kullanabilmesi için bir SDK eklentisi XML dosyası sağlayabilirsiniz. Ayrıntılar için IDE ve SDK araçlarını güncelleme başlıklı makaleyi inceleyin.

AVD'yi ağdan indirmek için:

  1. Resim zip dosyasını ve XML dosyalarını bir sunucuda barındırın.
  2. URL'yi hedef kullanıcılarınıza sağlayın.
  3. (İsteğe bağlı) Erişimi kullanıcı adına ve şifreye göre sınırlayın.

Alternatif olarak, geliştirmeyi hızlandırmak için AVD'yi yerel bir dizine indirin:

  1. XML dosyalarını ve XML dosyasında belirtilen tüm yapıları ADDON_DIR adlı bir klasöre (örneğin, tüm AVD resim ZIP dosyaları) kaydedin.
  2. URL'yi file://$ADDON_DIR/oem-sys-img2-1.xml olarak belirtin.