Mendownload, membangun, dan menjalankan

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

Menginisialisasi klien Repo

Siapkan klien Anda untuk mengakses repositori sumber Android:

  1. Buat dan buka direktori kerja, seperti sdv:

    mkdir WORKING_DIRECTORY
    cd WORKING_DIRECTORY
  2. Lakukan inisialisasi direktori kerja Anda untuk kontrol sumber:

    Contoh ini menggunakan cabang 26Q2-fs-release.

    RELEASE=26Q2-fs-release
    repo init -u https://partner-android.googlesource.com/platform/vendor/pdk/generic/fs/manifest/ -b $RELEASE

    Opsi -u diperlukan 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 -b mengidentifikasi 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 -j8

Argumen -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.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 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-userdebug

Perintah 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) lunch agar 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.

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

  1. Untuk memulai Cuttlefish dengan build Anda:

    cvd create

    Cuttlefish 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 successfully
  2. Jalankan adb untuk terhubung ke Cuttlefish.

  3. Jalankan adb devices untuk memverifikasi bahwa build Anda 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 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-common

cvd not found

Jika Anda menerima error cvd not found:

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

Loop error Cuttlefish

Jika Cuttlefish memasuki loop error:

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