Halaman ini menjelaskan cara mendownload, mem-build, dan menjalankan AAOS SDV di Cuttlefish.
Menginisialisasi klien Repo
Siapkan klien Anda untuk mengakses repositori sumber Android:
Buat dan buka direktori kerja, seperti
sdv:mkdir WORKING_DIRECTORYcd WORKING_DIRECTORYLakukan inisialisasi direktori kerja Anda untuk kontrol sumber:
Contoh ini menggunakan cabang
26Q2-fs-release.RELEASE=26Q2-fs-releaserepo init -u https://partner-android.googlesource.com/platform/vendor/pdk/generic/fs/manifest/ -b $RELEASEOpsi
-udiperlukan dan mengidentifikasi file manifes, yang merupakan file XML yang menentukan tempat berbagai project Git di sumber Android ditempatkan dalam direktori kerja Anda. Dalam contoh ini, nama file manifes tidak ditentukan, sehingga perintah menggunakan file manifes default (default.xml).Opsi
-bmengidentifikasi cabang yang Anda inisialisasi.Output harus berisi pesan:
repo has been initialized in path_to_working_directory
Mendownload sumber AAOS SDV
Jalankan perintah berikut untuk mendownload pohon sumber Android ke direktori kerja Anda:
repo sync -c -j8Argumen -c menginstruksikan Repo untuk mengambil cabang manifes saat ini dari server. Perintah -j8 membagi sinkronisasi di seluruh thread untuk penyelesaian yang lebih cepat.
Menyiapkan lingkungan build
Dari dalam direktori kerja Anda, sumberkan skrip envsetup.sh untuk menyiapkan lingkungan build Anda:
source build/envsetup.shSkrip ini mengimpor beberapa perintah yang memungkinkan Anda menggunakan kode sumber Android, termasuk perintah yang digunakan di halaman ini. Untuk melihat sumber skrip, lihat platform/build/envsetup.sh. Untuk melihat bantuan bawaan, ketik hmm.
Memilih target
Sebelum mem-build SDV, identifikasi target yang akan di-build. Untuk mengidentifikasi target yang akan di-build, gunakan perintah lunch yang diikuti dengan string yang mewakili target yang Anda build. Misalnya, gunakan perintah ini untuk mem-build target untuk emulator Cuttlefish:
lunch sdv_core_cf-trunk_staging-userdebugPerintah ini memilih produk, konfigurasi rilis, dan varian yang akan di-build serta menyimpan pilihan di lingkungan.
Target lunch untuk SDV disediakan dalam project Git terpisah yang terletak di direktori devices/google/sdv. Lihat deskripsi mendetail tentang target yang tersedia di device/google/sdv/README.md. Target Cuttlefish (cf) utama adalah:
sdv_core_cf-trunk_staging-userdebug- Mem-build image AAOS SDV Core (sdv_core) yang berjalan di Cuttlefish (cf).sdv_media_cf-trunk_staging-userdebug- Mem-build image AAOS SDV Core dengan API media yang divirtualisasikan virtIO (sdv_media).sdv_media_har_cf-trunk_staging-userdebug- Mem-build image yang memperluas target media AAOS SDV (sdv_media_cf)lunchagar berisi perender ketersediaan tinggi (HAR). HAR berjalan otomatis saat booting.sdv_ivi_cf-trunk_staging-userdebug- Mem-build image In-Vehicle Infotainment (IVI) yang berisi aplikasi contoh SDV Gateway dan Java.sdv_ivi_cf_ds-trunk_staging-userdebug- Mem-build image yang memperluas target AAOS SDV IVI (sdv_ivi_cf) dan menyertakan implementasi DriverUI dan Instrument Cluster Display Safety.
Mem-build AAOS SDV
Jalankan perintah berikut untuk mem-build target Anda. Bergantung pada spesifikasi workstation Anda, build pertama memerlukan waktu antara 30 dan 60 menit. Build berikutnya memerlukan waktu yang jauh lebih singkat.
mOutput build Anda akan muncul di $OUT_DIR. Jika Anda mem-build target yang berbeda, setiap build target akan muncul di $OUT_DIR.
Menguji build menggunakan Cuttlefish
Setelah mem-build AAOS SDV, uji build Anda menggunakan Cuttlefish.
Untuk memulai Cuttlefish dengan build Anda:
cvd createCuttlefish berjalan menggunakan target yang di-build (
sdv_core_cf-trunk_staging-userdebug). Setelah Cuttlefish di-booting, pesan ini akan ditampilkan:VIRTUAL_DEVICE_BOOT_COMPLETED Virtual device booted successfullyJalankan
adbuntuk terhubung ke Cuttlefish.Jalankan
adb devicesuntuk memverifikasi bahwa build Anda berjalan. Hasil yang mirip dengan ini akan ditampilkan:List of devices attached 0.0.0.0:6520 deviceJalankan
cvd stopuntuk mematikan perangkat.
Untuk menjalankan beberapa instance Cuttlefish dengan build yang berbeda, lihat Cuttlefish: multi-tenancy.
Memecahkan masalah
Bagian ini menjelaskan cara memecahkan masalah error yang mungkin terjadi selama mendownload, mem-build, atau menjalankan AAOS SDV.
Error RBE
Jika Anda mengalami error Remote Build Execution (RBE), hapus definisi USE_RBE dan ENABLE_RBE_BOOTSTRAP dari .bashrc atau .zshrc
cvd: VM manager crosvm isn't supported on this machine
Jika Cuttlefish melaporkan bahwa VM manager crosvm tidak didukung di mesin Anda, jalankan perintah berikut untuk menginstal Cuttlefish:
sudo apt install cuttlefish-commoncvd not found
Jika Anda menerima error cvd not found:
- Siapkan build Anda lagi.
- Lanjutkan dengan Memilih target.
Loop error Cuttlefish
Jika Cuttlefish memasuki loop error:
- Untuk menghentikan semua instance Cuttlefish, jalankan
cvd stop. - Gunakan Cuttlefish untuk menguji ulang build Anda.