หน้านี้อธิบายวิธีดาวน์โหลด สร้าง และเรียกใช้ 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 และแอปตัวอย่าง Javasdv_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
วิธีเริ่ม Cuttlefish ด้วยบิลด์ของคุณ
cvd createCuttlefish จะทำงานโดยใช้เป้าหมายที่คุณสร้าง (
sdv_core_cf-trunk_staging-userdebug) หลังจากที่ Cuttlefish บูตแล้ว ข้อความนี้จะปรากฏขึ้นVIRTUAL_DEVICE_BOOT_COMPLETED Virtual device booted successfullyเรียกใช้
adbเพื่อเชื่อมต่อกับ Cuttlefishเรียกใช้
adb devicesเพื่อยืนยันว่าบิลด์ของคุณทำงานอยู่ ผลลัพธ์ที่คล้ายกับผลลัพธ์ต่อไปนี้จะปรากฏขึ้นList of devices attached 0.0.0.0:6520 deviceเรียกใช้
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 ให้ทำดังนี้
- ตั้งค่าบิลด์อีกครั้ง
- ดำเนินการต่อด้วยเลือกเป้าหมาย
ลูปข้อขัดข้องของ Cuttlefish
หาก Cuttlefish เข้าสู่ลูปข้อขัดข้อง ให้ทำดังนี้
- หากต้องการหยุดอินสแตนซ์ Cuttlefish ทั้งหมด ให้เรียกใช้
cvd stop - ใช้ Cuttlefish เพื่อทดสอบการสร้างอีกครั้ง