İndirme, derleme ve çalıştırma

Bu sayfada, Cuttlefish'te AAOS SDV'nin nasıl indirileceği, derleneceği ve çalıştırılacağı açıklanmaktadır.

AAOS SDV kaynak kodunu alma

Android kaynağını indirme bölümündeki talimatları uygulayın.

Derleme ortamınızı ayarlama

Çalışma dizininizden, derleme ortamınızı ayarlamak için envsetup.sh komut dosyasını kaynak olarak kullanın:

source build/envsetup.sh

Bu komut dosyası, bu sayfada kullanılan komutlar da dahil olmak üzere Android kaynak koduyla çalışmanıza olanak tanıyan çeşitli komutları içe aktarır. Komut dosyasının kaynağını görüntülemek için platform/build/envsetup.sh adresine bakın. Yerleşik yardımı görüntülemek için hmm yazın.

Hedef seçin

SDV'yi derlemeden önce derlenecek bir hedef belirleyin. Derlenecek hedefinizi belirlemek için lunch komutunu ve ardından derlediğiniz hedefi temsil eden bir dizeyi kullanın. Örneğin, Cuttlefish emülatörü için bir hedef oluşturmak üzere bu komutu kullanın:

lunch sdv_core_cf-aosp_current-userdebug

Bu komut, derlenecek ürünü, sürüm yapılandırmasını ve varyantı seçer ve seçimi ortamda depolar.

SDV için lunch hedefleri, device/google/sdv dizininde bulunan ayrı bir Git projesinde sağlanır. Kullanılabilir hedeflerin ayrıntılı açıklamasını device/google/sdv/README.md adresinde bulabilirsiniz. Ana Cuttlefish (cf) hedefleri şunlardır:

  • sdv_core_cf-aosp_current-userdebug - Cuttlefish'te (cf) çalışan bir AAOS SDV Core (sdv_core) görüntüsü oluşturun.
  • sdv_media_cf-aosp_current-userdebug - VirtIO sanallaştırılmış medya API'leri (sdv_media) ile AAOS SDV Core'un bir görüntüsünü oluşturun.
  • sdv_media_har_cf-aosp_current-userdebug - AAOS SDV medya (sdv_media_cf) lunch hedefini, yüksek kullanılabilirlik oluşturucuyu (HAR) içerecek şekilde genişleten bir görüntü oluşturun. HAR, başlatma sırasında otomatik olarak çalışır.
  • sdv_ivi_cf-aosp_current-userdebug - SDV Gateway ve Java örnek uygulamalarını içeren bir araç içi bilgi-eğlence sistemi (IVI) görüntüsü oluşturun.
  • sdv_ivi_cf_ds-aosp_current-userdebug - AAOS SDV IVI hedefini (sdv_ivi_cf) genişleten ve Display Safety'nin DriverUI ve gösterge paneli uygulamasını içeren bir imaj oluşturun.

AAOS SDV oluşturma

Hedefinizi oluşturmak için aşağıdaki komutu çalıştırın. İş istasyonunuzun özelliklerine bağlı olarak ilk derleme 30 ila 60 dakika sürer. Sonraki derlemeler çok daha kısa sürer.

m

Derlemenizin çıkışı $OUT_DIR içinde görünür. Farklı hedefler oluşturursanız her hedef derlemesi $OUT_DIR içinde görünür.

Cuttlefish kullanarak derlemenizi test etme

AAOS SDV'yi derledikten sonra Cuttlefish'i kullanarak derlemenizi test edin.

  1. Cuttlefish'i derlemenizle başlatmak için:

    cvd create

    Cuttlefish, derleme hedefinizi (sdv_core_cf-aosp_current-userdebug) kullanarak çalışır. Cuttlefish başlatıldıktan sonra şu mesaj gösterilir:

    VIRTUAL_DEVICE_BOOT_COMPLETED
    Virtual device booted successfully
  2. Cuttlefish'e bağlanmak için adb komutunu çalıştırın.

  3. Derlemenizin çalıştığını doğrulamak için adb devices komutunu çalıştırın. Buna benzer bir sonuç gösterilir:

    List of devices attached
    0.0.0.0:6520 device
  4. Cihazı kapatmak için cvd stop komutunu çalıştırın.

Farklı derlemelerle birden fazla Cuttlefish örneği çalıştırmak için Cuttlefish: çoklu kiracılık bölümüne bakın.

Sorun giderme

Bu bölümde, AAOS SDV'nin indirilmesi, derlenmesi veya çalıştırılması sırasında oluşabilecek hataların nasıl giderileceği açıklanmaktadır.

RBE hataları

Uzaktan Derleme Yürütme (RBE) hatalarıyla karşılaşırsanız .bashrc veya .zshrc dosyasından USE_RBE ve ENABLE_RBE_BOOTSTRAP tanımlarını kaldırın.

cvd: VM yöneticisi crosvm bu makinede desteklenmiyor

Cuttlefish, VM Manager crosvm özelliğinin makinenizde desteklenmediğini bildirirse Cuttlefish'i yüklemek için aşağıdaki komutu çalıştırın:

sudo apt install cuttlefish-common

cvd bulunamadı

cvd not found hatası alırsanız:

  1. Derlemenizi tekrar ayarlayın.
  2. Hedef seçin ile devam edin.

Cuttlefish kilitlenme döngüleri

Cuttlefish kilitlenme döngüsüne girerse:

  1. Tüm Cuttlefish örneklerini durdurmak için cvd stop komutunu çalıştırın.
  2. Derlemenizi yeniden test etmek için Cuttlefish'i kullanın.