Android Studio for Platform (ASfP) เป็นสภาพแวดล้อมในการพัฒนาซอฟต์แวร์แบบผสานรวม (IDE) ที่แนะนำสำหรับการพัฒนาแพลตฟอร์ม Android ซึ่งรวมถึงโปรเจ็กต์ Software Defined Vehicle (SDV) ของระบบปฏิบัติการ Android Automotive (AAOS) ASfP มีชุดเครื่องมือมากมายสำหรับการแก้ไขโค้ด การสร้าง การแก้ไขข้อบกพร่อง และการทดสอบ ซึ่งรวมถึง
- ความช่วยเหลือที่ทำงานด้วยระบบ AI (Gemini)
- รองรับภาษา Rust, C หรือ C++, Java
- การผสานรวมที่มีประโยชน์สำหรับการพัฒนา SDV ของ AAOS (เช่น การรองรับโปรแกรมจำลอง Cuttlefish และการรองรับภาษา VSIDL)
ติดตั้ง Android Studio สำหรับแพลตฟอร์ม
วิธีติดตั้ง ASfP
ดาวน์โหลด Android Studio สำหรับแพลตฟอร์ม
เลือกเวอร์ชันที่เหมาะกับความต้องการของคุณมากที่สุด
- เสถียร: เวอร์ชันที่ใช้งานจริงล่าสุด ซึ่งแนะนำสำหรับผู้ใช้ส่วนใหญ่
- Canary: บิลด์เวอร์ชันทดลองที่มีฟีเจอร์ใหม่ล่าสุด แต่ อาจมีความเสถียรน้อยกว่า
ทำตามวิธีการติดตั้งที่ระบุไว้ในหน้าดาวน์โหลด
ตั้งค่าโปรเจ็กต์ SDV ของ AAOS
วิธีตั้งค่าโปรเจ็กต์ SDV ของ AAOS
ตรวจสอบว่าคุณมีสิทธิ์เข้าถึงที่เก็บซอร์สโค้ด SDV ของ AAOS และได้ เริ่มต้นและซิงค์การชำระเงินในเครื่องแล้ว ดูรายละเอียดเกี่ยวกับการเข้าถึงแหล่งที่มาและการเริ่มต้นที่เก็บได้ที่หัวข้อดาวน์โหลด สร้าง และ เรียกใช้
เปิด Android Studio สำหรับแพลตฟอร์ม
หากคุณเป็นผู้ใช้ครั้งแรก ให้ทำตามวิซาร์ดการตั้งค่าเพื่อปรับแต่งสภาพแวดล้อมในการพัฒนาซอฟต์แวร์
สร้างโปรเจ็กต์ใหม่
- หากไม่ได้เปิดโปรเจ็กต์ ให้คลิกใหม่ในหน้าจอต้อนรับ
- หากมีโปรเจ็กต์เปิดอยู่แล้ว ให้คลิกเปิด หรือเลือก ASfP > Project > Import ASfP Project จากเมนู
กรอกรายละเอียดการกำหนดค่าโปรเจ็กต์ในวิซาร์ด
การชำระเงินในที่เก็บ: ระบุเส้นทางแบบสัมบูรณ์ไปยังรูทของ การชำระเงินซอร์สโค้ด AAOS SDV ในเครื่อง (เช่น
/path/to/sdv_source)เป้าหมายการเปิดตัว: ป้อนเป้าหมายการเปิดตัวที่เหมาะสมสำหรับการพัฒนา AAOS SDV บน Cuttlefish เช่น
sdv_core_cf-trunk_staging-userdebugดูเลือกเป้าหมายเพื่อดูเป้าหมายอื่นๆ ที่ใช้ได้แหล่งที่มาของโปรเจ็กต์: แสดงรายการไดเรกทอรีหรือโมดูลเริ่มต้นที่ต้องการ รวมไว้ในโปรเจ็กต์ หรือคลิกไอคอนโฟลเดอร์เพื่อเปิดระบบไฟล์ เบราว์เซอร์เพื่อเลือกไดเรกทอรี การเลือกไดเรกทอรีหรือ โมดูลมากเกินไปจะส่งผลต่อการจัดทำดัชนีและประสิทธิภาพการค้นหาของ IDE ดังนั้นให้รวมเฉพาะไดเรกทอรีหรือโมดูลที่เกี่ยวข้อง
การรองรับภาษา: เลือก Rust และ C++ เป็นภาษาที่รองรับ
ชื่อโปรเจ็กต์: ตั้งชื่อโปรเจ็กต์ให้สื่อความหมาย
ตั้งค่าให้เสร็จสมบูรณ์: คลิกเสร็จสิ้น ASfP จะสร้างโครงสร้างโปรเจ็กต์ และไฟล์การกำหนดค่า
.asfp-project
ASfP จะเริ่มกระบวนการซิงค์ครั้งแรกโดยอัตโนมัติ ASfP จะวิเคราะห์ซอร์สโค้ด แก้ไขการอ้างอิงโดยใช้ระบบบิลด์ Soong และสร้างข้อมูลที่จำเป็นสำหรับฟีเจอร์ความฉลาดของโค้ด ซึ่งอาจใช้เวลานานพอสมควร โดยเฉพาะอย่างยิ่งสำหรับการซิงค์ครั้งแรก
ปรับแต่งโปรเจ็กต์
.asfp-project ไฟล์ในรูทของโปรเจ็กต์ช่วยให้ปรับแต่งเพิ่มเติมได้
คุณแก้ไขไฟล์นี้เพื่อทำสิ่งต่อไปนี้ได้
- เพิ่มหรือนำไดเรกทอรีและโมดูลออก
- เปิดใช้การรองรับภาษาอื่นๆ เช่น C++ หรือ Rust (Java และ Kotlin เป็นค่าเริ่มต้น)
- กำหนดค่าแฟล็กบิลด์
หากต้องการทำการเปลี่ยนแปลงไฟล์กำหนดค่า ให้เลือก ASfP > โปรเจ็กต์ > เปิดการกำหนดค่า ดูตัวเลือกการกำหนดค่าที่มีได้ในภาพรวมของโปรเจ็กต์
แก้ไขข้อบกพร่องและทดสอบ
หากต้องการแก้ไขข้อบกพร่องและทดสอบโค้ดใน ASfP โปรดดูแก้ไขข้อบกพร่องของโค้ดแพลตฟอร์มและ ทดสอบโค้ดแพลตฟอร์มด้วย atest
การผสานรวมที่พร้อมใช้งาน
ASfP มาพร้อมการผสานรวมที่มีประโยชน์สำหรับการพัฒนา SDV ของ AAOS ซึ่งรวมถึง การรองรับ Cuttlefish และ Language Server Protocol (LSP) ใน VSIDL
ปลั๊กอิน Cuttlefish
ปลั๊กอิน Cuttlefish ช่วยให้ผู้ใช้สร้างและเรียกใช้อุปกรณ์ Cuttlefish ในเครื่องได้ โดยตรงจาก ASfP
ติดตั้งปลั๊กอิน
ปลั๊กอิน Cuttlefish ติดตั้งไว้ล่วงหน้าพร้อมกับ ASfP และไม่ต้องตั้งค่าใดๆ ปลั๊กอินต้องติดตั้งเครื่องมือ Cuttlefish ในอุปกรณ์ โปรดทำตามวิธีการเพื่อติดตั้งเครื่องมือ Cuttlefish หากจำเป็น
สร้างอุปกรณ์ Cuttlefish
วิธีสร้างอุปกรณ์ใหม่
เปิดหน้าต่างเครื่องมือโปรแกรมจัดการอุปกรณ์โดยเลือกเครื่องมือ > โปรแกรมจัดการอุปกรณ์ หรือคลิกไอคอนอุปกรณ์ที่กำลังทำงานในแผงด้านขวา หากปักหมุดโปรแกรมจัดการอุปกรณ์ไว้แล้ว
คลิกไอคอน + แล้วเลือกสร้างอุปกรณ์ Cuttlefish
กำหนดค่าอุปกรณ์ Cuttlefish ใหม่ คุณสร้างอุปกรณ์ Cuttlefish ได้ 2 วิธี ดังนี้
จากการตรวจสอบแผนผังแหล่งที่มาของ Android ในเครื่อง ให้ทำดังนี้
- เลือกเส้นทางไปยังเป้าหมายที่สร้างขึ้นซึ่งสอดคล้องกับการกำหนดค่าการเปิดตัว (ดูรายละเอียดเพิ่มเติมได้ที่เลือกเป้าหมาย)
- เลือกเส้นทางโฮสต์
- หรือจะเลือกการกำหนดค่าอุปกรณ์ที่มีอยู่หรือไม่มี สำหรับการกำหนดค่าเริ่มต้นก็ได้
จากการกำหนดค่า Canonical (ใช้ตัวเลือกนี้เพื่อสร้างอุปกรณ์หลายเครื่อง จากการกำหนดค่าเดียว)
- เลือกเส้นทางการกำหนดค่าอุปกรณ์
- ไม่บังคับ: ระบุค่าสถานะการลบล้างเพื่อลบล้างตัวเลือกการกำหนดค่า
รอให้ระบบสร้างอุปกรณ์ Cuttlefish และเพิ่มลงในรายการอุปกรณ์ที่ทำงานในโปรแกรมจัดการอุปกรณ์
เลือกอุปกรณ์ Cuttlefish จากเมนูอุปกรณ์ที่ทำงานอยู่
คุณเริ่มหรือหยุดอุปกรณ์ Cuttlefish แต่ละเครื่องได้โดยคลิกไอคอนหยุดหรือเริ่มข้างอุปกรณ์ใน โปรแกรมจัดการอุปกรณ์
เข้าถึงหน้าอุปกรณ์ Cuttlefish
ปลั๊กอิน Cuttlefish มีหน้าต่างเครื่องมือที่แสดงหน้าอุปกรณ์ Cuttlefish ซึ่งคุณสามารถเข้าถึงฟีเจอร์การมิเรอร์หน้าจอได้
หากต้องการเปิดหน้าต่างเครื่องมือ Cuttlefish ให้คลิกไอคอน ... ที่แผงด้านซ้าย แล้วเลือก Cuttlefish หรือจะค้นหา Cuttlefish ในรายการเมนูความช่วยเหลือ > ค้นหาการดำเนินการก็ได้
Language Server Protocol ใน VSIDL
ใน VSIDL นั้น LSP จะมีชุดฟีเจอร์ IDE ที่หลากหลายเพื่อปรับปรุงเวิร์กโฟลว์การพัฒนาเมื่อทำงานกับไฟล์ VSIDL (ที่มีนามสกุล .vsidl)
ใน ASfP
การไฮไลต์ไวยากรณ์เชิงความหมาย
เซิร์ฟเวอร์ LSP จะไฮไลต์ไวยากรณ์ตามไฟล์ VSIDL
การทำงาน: ไฮไลต์คีย์เวิร์ด (
service_bundle,publisher) ฟิลด์ (package:,message:) และค่าคงที่วิธีลองใช้: เปิดไฟล์ VSIDL ไฟล์นี้มีรหัสสีเพื่อแยกความแตกต่างระหว่าง คีย์เวิร์ดโครงสร้างกับตัวระบุที่ผู้ใช้กำหนด
การวินิจฉัยแบบเรียลไทม์ (ข้อผิดพลาดและคำเตือน)
เซิร์ฟเวอร์ LSP จะตรวจสอบไฟล์อย่างต่อเนื่องและรายงานปัญหาแบบเรียลไทม์
สิ่งที่ทำ: ตรวจหาข้อผิดพลาดด้านไวยากรณ์ การอ้างอิงประเภทที่ไม่ถูกต้อง และข้อผิดพลาดอื่นๆ ในแคตตาล็อกทั้งหมดและการอ้างอิง
วิธีลองใช้: พิมพ์ชื่อข้อความผิด (เช่น
TiiirePressure) เส้นหยักสีแดงจะปรากฏใต้คำที่สะกดผิด วางเมาส์ เหนือคำเพื่อดูข้อความแสดงข้อผิดพลาด หรือดูรายการทั้งหมดในหน้าต่างเครื่องมือปัญหาที่ด้านล่างของ IDE
การนำทางและข้อมูลอัจฉริยะ
คุณสามารถใช้ฟีเจอร์การนำทางและฟีเจอร์อัจฉริยะเพื่อสำรวจความสัมพันธ์ ระหว่างส่วนต่างๆ ของแคตตาล็อก VSIDL
การเติมข้อความอัตโนมัติ: กด Control+Space เพื่อดูคำแนะนำสำหรับ คีย์เวิร์ด, ข้อความ Protobuf, บริการ RPC, หัวข้อ และช่อง คำแนะนำคีย์เวิร์ดมีคำอธิบายสั้นๆ ที่เป็นประโยชน์เกี่ยวกับวัตถุประสงค์ของคีย์เวิร์ดนั้นๆ โดยตรงในเมนูเติมข้อความอัตโนมัติ นอกจากนี้ LSP ยังมีข้อมูลโค้ดอัจฉริยะสำหรับบล็อกอย่าง
publisherหรือserverเพื่อเร่งเวิร์กโฟลว์ของคุณไปที่คำจำกัดความ: กด Control ค้างไว้แล้วคลิก (หรือกด Control+B) ข้อความ บริการ หัวข้อ หรือการอ้างอิงช่องเพื่อไปยัง คำจำกัดความแหล่งที่มาโดยตรง แม้ว่าจะอยู่ในไฟล์ VSIDL หรือ protobuf อื่นก็ตาม
ค้นหาการอ้างอิง: วางเคอร์เซอร์บนคีย์เวิร์ด
publisher,subscriber,serverหรือclientแล้วกด Alt+Shift+F7 เพื่อค้นหา อินสแตนซ์ทั้งหมดข้อมูลเมื่อวางเมาส์เหนือ: เลื่อนเคอร์เซอร์ไปยังประเภทหรือพร็อพเพอร์ตี้ (หรือกด Control+Q) เคล็ดลับเครื่องมือจะปรากฏขึ้นพร้อมแสดงความคิดเห็นในเอกสารประกอบ (หากมี)
ฟีเจอร์โครงสร้าง
เซิร์ฟเวอร์ LSP ช่วยให้คุณจัดการและไปยังโครงสร้างของไฟล์ VSIDL ขนาดใหญ่ได้
สัญลักษณ์เอกสาร (โครงร่าง): กด Control+F12 เพื่อดูเคล็ดลับการนำทางด่วน หรือเปิดหน้าต่างเครื่องมือโครงสร้าง (Control+Alt+7) เพื่อดูมุมมองแบบต้นไม้ของแพ็กเกจและหน่วยทั้งหมดในไฟล์
ช่วงการพับ: คลิกไอคอน > หรือ V ในแถบด้านข้าง (ข้างหมายเลขบรรทัด) เพื่อยุบหรือขยายบล็อกตรรกะขนาดใหญ่ เช่น
service_bundleหรือคำจำกัดความการแมปการจัดรูปแบบเอกสาร: กด Control+Alt+L เพื่อจัดรูปแบบไฟล์ใหม่โดยอัตโนมัติ สร้างการเยื้องและระยะห่างที่สอดคล้องกัน