ดาวน์โหลด สร้าง และเรียกใช้

หน้านี้อธิบายวิธีดาวน์โหลด สร้าง และเรียกใช้ AAOS SDV ใน Cuttlefish

รับซอร์สโค้ด AAOS SDV

ใช้คำแนะนำที่ระบุไว้ในดาวน์โหลดซอร์สโค้ด Android

ตั้งค่าสภาพแวดล้อมของบิลด์

จากภายในไดเรกทอรีการทำงาน ให้เรียกใช้สคริปต์ envsetup.sh เพื่อตั้งค่าสภาพแวดล้อมของบิลด์

source build/envsetup.sh

สคริปต์นี้จะนำเข้าคำสั่งหลายรายการที่ช่วยให้คุณทำงานกับซอร์สโค้ด Android ได้ รวมถึงคำสั่งที่ใช้ในหน้านี้ หากต้องการดูซอร์สโค้ดของสคริปต์ ให้ดู platform/build/envsetup.sh หากต้องการดูความช่วยเหลือในตัว ให้พิมพ์ hmm

เลือกเป้าหมาย

ก่อนสร้าง SDV ให้ระบุ เป้าหมายที่จะสร้าง หากต้องการระบุเป้าหมายที่จะสร้าง ให้ใช้คำสั่ง lunch ตามด้วยสตริงที่แสดงถึงเป้าหมายที่คุณกำลังสร้าง ตัวอย่างเช่น ใช้คำสั่งนี้เพื่อสร้างเป้าหมายสำหรับโปรแกรมจำลอง Cuttlefish

lunch sdv_core_cf-trunk_staging-userdebug

คำสั่งนี้จะเลือกผลิตภัณฑ์ การกำหนดค่าการเผยแพร่ และตัวแปรที่จะสร้าง แล้วจัดเก็บการเลือกไว้ในสภาพแวดล้อม

เป้าหมาย lunch สำหรับ SDV มีให้ในโปรเจ็กต์ Git แยกต่างหากซึ่งอยู่ในไดเรกทอรี devices/google/sdv ดูคำอธิบายโดยละเอียดของเป้าหมายที่พร้อมใช้งานได้ที่ device/google/sdv/README.md เป้าหมายหลักของ Cuttlefish (cf) มีดังนี้

  • sdv_core_cf-trunk_staging-userdebug - สร้างอิมเมจของ AAOS SDV Core (sdv_core) ที่ทำงานบน Cuttlefish (cf)
  • sdv_media_cf-trunk_staging-userdebug - สร้างอิมเมจของ AAOS SDV Core ด้วย API สื่อที่จำลองเสมือน virtIO (sdv_media)
  • sdv_media_har_cf-trunk_staging-userdebug - สร้างอิมเมจที่ขยายเป้าหมาย AAOS SDV media (sdv_media_cf) lunch ให้มีตัวแสดงผลความพร้อมใช้งานสูง (HAR) HAR จะทำงานโดยอัตโนมัติเมื่อบูต
  • sdv_ivi_cf-trunk_staging-userdebug - สร้างอิมเมจของระบบสาระบันเทิงในรถยนต์ (IVI) ที่มีเกตเวย์ SDV และแอปตัวอย่าง Java
  • sdv_ivi_cf_ds-trunk_staging-userdebug - สร้างอิมเมจที่ขยายเป้าหมาย AAOS SDV IVI (sdv_ivi_cf) และรวมการใช้งาน DriverUI และแผงหน้าปัดของ Display Safety

สร้าง AAOS SDV

เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างเป้าหมาย การสร้างครั้งแรกจะใช้เวลา 30-60 นาที ทั้งนี้ขึ้นอยู่กับข้อกำหนดของเวิร์กสเตชัน การสร้างครั้งต่อๆ ไปจะใช้เวลาน้อยลงอย่างมาก

m

เอาต์พุตของบิลด์จะปรากฏใน $OUT_DIR หากคุณสร้างเป้าหมายที่ต่างกัน การสร้างเป้าหมายแต่ละรายการจะปรากฏใน $OUT_DIR

ทดสอบบิลด์โดยใช้ Cuttlefish

หลังจากสร้าง AAOS SDV แล้ว ให้ทดสอบการสร้างโดยใช้ Cuttlefish

  1. วิธีเริ่ม Cuttlefish ด้วยบิลด์ของคุณ

    cvd create

    Cuttlefish จะทำงานโดยใช้เป้าหมายที่คุณสร้าง (sdv_core_cf-trunk_staging-userdebug) หลังจากที่ Cuttlefish บูตแล้ว ข้อความนี้จะปรากฏขึ้น

    VIRTUAL_DEVICE_BOOT_COMPLETED
    Virtual device booted successfully
  2. เรียกใช้ adb เพื่อเชื่อมต่อกับ Cuttlefish

  3. เรียกใช้ adb devices เพื่อยืนยันว่าบิลด์ของคุณทำงานอยู่ ผลลัพธ์ที่คล้ายกับผลลัพธ์ต่อไปนี้จะปรากฏขึ้น

    List of devices attached
    0.0.0.0:6520 device
  4. เรียกใช้ cvd stop เพื่อปิดอุปกรณ์

หากต้องการเรียกใช้ Cuttlefish หลายอินสแตนซ์ด้วยการสร้างที่ต่างกัน โปรดดู Cuttlefish: การเช่าใช้หลายราย

แก้ปัญหา

ส่วนนี้อธิบายวิธีแก้ปัญหาข้อผิดพลาดที่อาจเกิดขึ้นระหว่างการดาวน์โหลด การสร้าง หรือการเรียกใช้ AAOS SDV

ข้อผิดพลาด RBE

หากพบข้อผิดพลาดในการดำเนินการสร้างระยะไกล (RBE) ให้นำคำจำกัดความของ USE_RBE และ ENABLE_RBE_BOOTSTRAP ออกจาก .bashrc หรือ .zshrc

cvd: VM manager crosvm ไม่รองรับในเครื่องนี้

หาก Cuttlefish รายงานว่า VM manager crosvm ไม่รองรับในเครื่องของคุณ ให้เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง Cuttlefish

sudo apt install cuttlefish-common

ไม่พบ cvd

หากได้รับข้อผิดพลาด cvd not found ให้ทำดังนี้

  1. ตั้งค่าบิลด์อีกครั้ง
  2. ดำเนินการต่อด้วยเลือกเป้าหมาย

ลูปข้อขัดข้องของ Cuttlefish

หาก Cuttlefish เข้าสู่ลูปข้อขัดข้อง ให้ทำดังนี้

  1. หากต้องการหยุดอินสแตนซ์ Cuttlefish ทั้งหมด ให้เรียกใช้ cvd stop
  2. ใช้ Cuttlefish เพื่อทดสอบการสร้างอีกครั้ง