หน้านี้อธิบายวิธีดาวน์โหลด สร้าง และเรียกใช้ 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-aosp_current-userdebugคำสั่งนี้จะเลือกผลิตภัณฑ์ การกำหนดค่ารุ่น และตัวแปรที่จะสร้าง และจัดเก็บรายการที่เลือกไว้ในสภาพแวดล้อม
เป้าหมาย lunch สำหรับ SDV จะอยู่ในโปรเจ็กต์ Git แยกต่างหากในไดเรกทอรี device/google/sdv ดูคำอธิบายโดยละเอียดของเป้าหมายที่ใช้ได้ที่ device/google/sdv/README.md เป้าหมายหลักของ Cuttlefish (cf) มีดังนี้
sdv_core_cf-aosp_current-userdebug- สร้างอิมเมจของ AAOS SDV Core (sdv_core) ที่ทำงานบน Cuttlefish (cf)sdv_media_cf-aosp_current-userdebug- สร้างอิมเมจของ AAOS SDV Core ด้วย API สื่อที่จำลองเสมือนด้วย virtIO (sdv_media)sdv_media_har_cf-aosp_current-userdebug- สร้างอิมเมจที่ขยายเป้าหมายสื่อ SDV ของ AAOS (sdv_media_cf)lunchให้มีโปรแกรมแสดงผลที่มีความพร้อมใช้งานสูง (HAR) HAR จะทำงานโดยอัตโนมัติเมื่อเปิดเครื่องsdv_ivi_cf-aosp_current-userdebug- สร้างอิมเมจของระบบสาระบันเทิงในรถยนต์ (IVI) ที่มีเกตเวย์ SDV และแอปตัวอย่าง Javasdv_ivi_cf_ds-aosp_current-userdebug- สร้างอิมเมจที่ขยายเป้าหมาย AAOS SDV IVI (sdv_ivi_cf) และรวมการติดตั้งใช้งาน DriverUI และแผงหน้าปัดของ Display Safety
สร้าง SDV ของ AAOS
เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างเป้าหมาย การบิลด์ครั้งแรกจะใช้เวลา 30-60 นาที ทั้งนี้ขึ้นอยู่กับข้อกำหนดเฉพาะของเวิร์กสเตชัน การบิลด์ครั้งต่อๆ ไปจะใช้เวลาน้อยลงอย่างมาก
mเอาต์พุตของบิลด์จะปรากฏใน $OUT_DIR หากคุณสร้างเป้าหมายที่แตกต่างกัน
การสร้างเป้าหมายแต่ละรายการจะปรากฏใน $OUT_DIR
ทดสอบบิลด์โดยใช้ Cuttlefish
หลังจากสร้าง AAOS SDV แล้ว ให้ทดสอบบิลด์โดยใช้ Cuttlefish
วิธีเริ่ม Cuttlefish ด้วยบิลด์ของคุณ
cvd createCuttlefish จะทำงานโดยใช้เป้าหมายที่สร้างขึ้น (
sdv_core_cf-aosp_current-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: เครื่องนี้ไม่รองรับ crosvm ของ VM Manager
หาก Cuttlefish รายงานว่าเครื่องของคุณไม่รองรับ VM Manager crosvm ให้เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง Cuttlefish
sudo apt install cuttlefish-commonไม่พบ cvd
หากได้รับข้อผิดพลาด cvd not found ให้ทำดังนี้
- ตั้งค่าบิลด์อีกครั้ง
- ดำเนินการต่อด้วยเลือกเป้าหมาย
ลูปข้อขัดข้องของ Cuttlefish
หาก Cuttlefish เข้าสู่ลูปข้อขัดข้อง ให้ทำดังนี้
- หากต้องการหยุดอินสแตนซ์ Cuttlefish ทั้งหมด ให้เรียกใช้
cvd stop - ใช้ Cuttlefish เพื่อทดสอบบิลด์อีกครั้ง