Mendownload, membangun, dan menjalankan

Halaman ini menjelaskan cara mendownload, mem-build, dan menjalankan SDV AAOS di Cuttlefish.

Mendapatkan kode sumber SDV AAOS

Gunakan petunjuk yang diberikan di Mendownload sumber Android.

Menyiapkan lingkungan build

Dari dalam direktori kerja Anda, ambil skrip envsetup.sh untuk menyiapkan lingkungan build Anda:

source build/envsetup.sh

Skrip 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 diikuti dengan string yang mewakili target yang Anda build. Misalnya, gunakan perintah ini untuk membangun target untuk emulator Cuttlefish:

lunch sdv_core_cf-aosp_current-userdebug

Perintah ini memilih produk, konfigurasi rilis, dan varian yang akan di-build, lalu menyimpan pilihan tersebut di lingkungan.

Target lunch untuk SDV disediakan dalam project Git terpisah yang terletak di direktori device/google/sdv. Lihat deskripsi mendetail tentang target yang tersedia di device/google/sdv/README.md. Target utama Cuttlefish (cf) adalah:

  • sdv_core_cf-aosp_current-userdebug - Mem-build image AAOS SDV Core (sdv_core) yang berjalan di Cuttlefish (cf).
  • sdv_media_cf-aosp_current-userdebug - Mem-build image AAOS SDV Core dengan API media yang divirtualisasi virtIO (sdv_media).
  • sdv_media_har_cf-aosp_current-userdebug - Buat image yang memperluas target media SDV AAOS (sdv_media_cf) lunch untuk memuat perender ketersediaan tinggi (HAR). HAR berjalan secara otomatis saat booting.
  • sdv_ivi_cf-aosp_current-userdebug - Mem-build image In-Vehicle Infotainment (IVI) yang berisi Gateway SDV dan aplikasi contoh Java.
  • sdv_ivi_cf_ds-aosp_current-userdebug - Buat image yang memperluas target IVI SDV AAOS (sdv_ivi_cf) dan menyertakan DriverUI dan implementasi Instrument Cluster Display Safety.

Membangun SDV AAOS

Jalankan perintah berikut untuk membangun target Anda. Bergantung pada spesifikasi workstation Anda, build pertama memerlukan waktu antara 30 dan 60 menit. Build berikutnya memerlukan waktu yang jauh lebih singkat.

m

Output 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 SDV AAOS, uji build Anda menggunakan Cuttlefish.

  1. Untuk memulai Cuttlefish dengan build Anda:

    cvd create

    Cuttlefish berjalan menggunakan target build Anda (sdv_core_cf-aosp_current-userdebug). Setelah Cuttlefish melakukan booting, pesan ini akan ditampilkan:

    VIRTUAL_DEVICE_BOOT_COMPLETED
    Virtual device booted successfully
  2. Jalankan adb untuk terhubung ke Cuttlefish.

  3. Jalankan adb devices untuk memverifikasi bahwa build Anda sedang berjalan. Hasil yang mirip dengan ini akan ditampilkan:

    List of devices attached
    0.0.0.0:6520 device
  4. Jalankan cvd stop untuk 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 SDV AAOS.

Error RBE

Jika Anda mengalami error Remote Build Execution (RBE), hapus definisi USE_RBE dan ENABLE_RBE_BOOTSTRAP dari .bashrc atau .zshrc

cvd: Pengelola VM crosvm tidak didukung di mesin ini

Jika Cuttlefish melaporkan bahwa VM Manager crosvm tidak didukung di mesin Anda, jalankan perintah berikut untuk menginstal Cuttlefish:

sudo apt install cuttlefish-common

cvd tidak ditemukan

Jika Anda menerima error cvd not found:

  1. Siapkan build Anda lagi.
  2. Lanjutkan dengan Pilih target.

Loop error Cuttlefish

Jika Cuttlefish mengalami loop error:

  1. Untuk menghentikan semua instance Cuttlefish, jalankan cvd stop.
  2. Gunakan Cuttlefish untuk menguji ulang build Anda.