Bu sayfada, Cuttlefish'te AAOS SDV'nin nasıl indirileceği, oluşturulacağı ve çalıştırılacağı açıklanmaktadır.
Repo istemcisini başlatma
İstemcinizi Android kaynak deposuna erişecek şekilde ayarlayın:
sdvgibi bir çalışma dizini oluşturun ve bu dizine gidin:mkdir WORKING_DIRECTORYcd WORKING_DIRECTORYÇalışma dizininizi kaynak kontrolü için başlatın:
Bu örnekte
26Q2-fs-releasedalı kullanılmaktadır.RELEASE=26Q2-fs-releaserepo init -u https://partner-android.googlesource.com/platform/vendor/pdk/generic/fs/manifest/ -b $RELEASE-useçeneği zorunludur ve Android kaynağındaki çeşitli Git projelerinin çalışma dizininizde nereye yerleştirileceğini belirten bir XML dosyası olan manifest dosyasını tanımlar. Bu örnekte, manifest dosyasının adı belirtilmediği için komut varsayılan manifest dosyasını (default.xml) kullanır.-bseçeneği, başlattığınız dalı tanımlar.Çıkış şu mesajı içermelidir:
repo has been initialized in path_to_working_directory
AAOS SDV kaynağını indirme
Android kaynak ağacını çalışma dizininize indirmek için aşağıdaki komutu çalıştırın:
repo sync -c -j8-c bağımsız değişkeni, Repo'ya mevcut manifest dalını sunucudan getirmesini söyler. -j8 komutu, daha hızlı tamamlanması için senkronizasyonu iş parçacıkları arasında böler.
Derleme ortamınızı ayarlama
Çalışma dizininizde, derleme ortamınızı ayarlamak için envsetup.sh komut dosyasını kaynaklayın:
source build/envsetup.shBu 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 bölümüne bakın. Yerleşik yardımı görüntülemek için hmm yazın.
Hedef seçin
SDV'yi oluşturmadan önce, oluşturulacak bir hedef belirleyin. Oluşturulacak hedefi belirlemek için lunch komutunu ve ardından oluşturulacak hedefi temsil eden bir dizeyi kullanın. Örneğin, Cuttlefish emülatörü için hedef oluşturmak üzere bu komutu kullanın:
lunch sdv_core_cf-trunk_staging-userdebugBu komut, oluşturulacak ürünü, yayın yapılandırmasını ve varyantı seçer ve seçimi ortamda saklar.
lunch dizininde bulunan ayrı bir Git projesinde SDV için lunch hedefleri sağlanır.devices/google/sdv Kullanılabilir hedeflerin ayrıntılı açıklaması için device/google/sdv/README.md adresini ziyaret edin. Başlıca Cuttlefish (cf) hedefleri şunlardır:
sdv_core_cf-trunk_staging-userdebug- Cuttlefish'te (cf) çalışan AAOS SDV Core görüntüsü oluşturun (sdv_core).sdv_media_cf-trunk_staging-userdebug- virtIO sanallaştırılmış medya API'leriyle (sdv_media) AAOS SDV Core görüntüsü oluşturun.sdv_media_har_cf-trunk_staging-userdebug- AAOS SDV medyayı (sdv_media_cf) yüksek kullanılabilirlik işleyicisini (HAR) içerecek şekilde genişleten bir görüntü oluşturun. HAR, başlatma sırasında otomatik olarak çalışır.lunchsdv_ivi_cf-trunk_staging-userdebug- SDV Gateway ve Java örnek uygulamalarını içeren bir araç içi bilgi-eğlence (IVI) görüntüsü oluşturun.sdv_ivi_cf_ds-trunk_staging-userdebug- AAOS SDV IVI hedefini (sdv_ivi_cf) genişleten ve Display Safety'nin DriverUI ile Gösterge Paneli uygulamasını içeren bir görüntü oluşturun.
AAOS SDV'yi 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.
mDerlemenizin çıktısı $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 oluşturduktan sonra Cuttlefish'i kullanarak derlemenizi test edin.
Cuttlefish'i derlemenizle başlatmak için:
cvd createCuttlefish, oluşturduğunuz hedefi kullanarak çalışır (
sdv_core_cf-trunk_staging-userdebug). Cuttlefish başlatıldıktan sonra şu mesaj gösterilir:VIRTUAL_DEVICE_BOOT_COMPLETED Virtual device booted successfullyCuttlefish'e bağlanmak için
adbkomutunu çalıştırın.Derlemenizin çalıştığını doğrulamak için
adb deviceskomutunu çalıştırın. Buna benzer bir sonuç gösterilir:List of devices attached 0.0.0.0:6520 deviceCihazı kapatmak için
cvd stopkomutunu çalıştırın.
Farklı derlemelerle birden fazla Cuttlefish örneği çalıştırmak için Cuttlefish: çok kiracılılık başlıklı makaleyi inceleyin.
Sorun giderme
Bu bölümde, AAOS SDV'nin indirilmesi, oluşturulması veya çalıştırılması sırasında oluşabilecek hataların nasıl giderileceği açıklanmaktadır.
RBE hataları
Herhangi bir Uzaktan Derleme Yürütme (RBE) hatasıyla karşılaşırsanız USE_RBE ve ENABLE_RBE_BOOTSTRAP tanımlarını .bashrc veya .zshrc'den kaldırın.
cvd: VM yöneticisi crosvm bu makinede desteklenmiyor
Cuttlefish, sanal makine yöneticisinin crosvm makinenizde desteklenmediğini bildiriyorsa Cuttlefish'i yüklemek için aşağıdaki komutu çalıştırın:
sudo apt install cuttlefish-commoncvd not found
cvd not found hatası alırsanız:
- Derlemenizi tekrar ayarlayın.
- Hedef seçme ile devam edin.
Cuttlefish kilitlenme döngüleri
Cuttlefish kilitlenme döngüsüne girerse:
- Tüm Cuttlefish örneklerini durdurmak için
cvd stopkomutunu çalıştırın. - Derlemenizi yeniden test etmek için Cuttlefish'i kullanın.