ตั้งค่า IDE สำหรับการพัฒนา SDV

Android Studio for Platform (ASfP) เป็นสภาพแวดล้อมในการพัฒนาซอฟต์แวร์แบบผสานรวม (IDE) ที่แนะนำสำหรับการพัฒนาแพลตฟอร์ม Android ซึ่งรวมถึงโปรเจ็กต์ Android Automotive Operating System (AAOS) Software Defined Vehicle (SDV) ASfP มีชุดเครื่องมือมากมายสำหรับการแก้ไข การสร้าง การแก้ไขข้อบกพร่อง และการทดสอบโค้ด ซึ่งรวมถึงเครื่องมือต่อไปนี้

  • ความช่วยเหลือที่ขับเคลื่อนด้วย AI (Gemini)
  • การรองรับภาษา Rust, C หรือ C++, Java
  • การผสานรวมที่เป็นประโยชน์สำหรับการพัฒนา AAOS SDV (เช่น การรองรับโปรแกรมจำลอง Cuttlefish และการรองรับภาษา VSIDL)

ติดตั้ง Android Studio for Platform

วิธีติดตั้ง ASfP

  1. ดาวน์โหลด Android Studio for Platform

  2. เลือกเวอร์ชันที่เหมาะกับความต้องการของคุณมากที่สุด

    • เสถียร: เวอร์ชันที่พร้อมใช้งานล่าสุด ซึ่งแนะนำสำหรับผู้ใช้ส่วนใหญ่
    • Canary: เวอร์ชันทดลองใช้ก่อนเปิดตัวที่มีฟีเจอร์ใหม่ล่าสุด แต่มีแนวโน้มที่จะไม่เสถียรเท่าเวอร์ชันที่พร้อมใช้งาน
  3. ทำตามวิธีการติดตั้งที่ระบุไว้ในหน้าดาวน์โหลด

ตั้งค่าโปรเจ็กต์ AAOS SDV

วิธีตั้งค่าโปรเจ็กต์ AAOS SDV

  1. ตรวจสอบว่าคุณมีสิทธิ์เข้าถึงที่เก็บซอร์สโค้ด AAOS SDV และได้เริ่มต้นและซิงค์การตรวจสอบในเครื่องแล้ว ดูรายละเอียดเกี่ยวกับการเข้าถึงซอร์สโค้ดและการเริ่มต้นที่เก็บได้ที่หัวข้อดาวน์โหลด สร้าง และ เรียกใช้

  2. เปิด Android Studio for Platform

  3. หากคุณเป็นผู้ใช้ครั้งแรก ให้ทำตามวิซาร์ดการตั้งค่าเพื่อปรับแต่งสภาพแวดล้อมในการพัฒนาซอฟต์แวร์

  4. สร้างโปรเจ็กต์ใหม่โดยทำดังนี้

    • หากไม่มีโปรเจ็กต์เปิดอยู่ ให้คลิกใหม่ ในหน้าจอต้อนรับ
    • หากมีโปรเจ็กต์เปิดอยู่แล้ว ให้คลิกเปิด หรือเลือก ASfP > โปรเจ็กต์ > นำเข้าโปรเจ็กต์ ASfP จากเมนู
  5. กรอกรายละเอียดการกำหนดค่าโปรเจ็กต์ในวิซาร์ดโดยทำดังนี้

    • การตรวจสอบที่เก็บ: ระบุเส้นทางแบบสัมบูรณ์ไปยังรูทของการตรวจสอบซอร์สโค้ด AAOS SDV ในเครื่อง (เช่น /path/to/sdv_source)

    • เป้าหมายการเปิดใช้: ป้อนเป้าหมายการเปิดใช้ที่เหมาะสมสำหรับการพัฒนา AAOS SDV ใน Cuttlefish เช่น sdv_core_cf-aosp_current-userdebug ดูเป้าหมายเพิ่มเติมที่พร้อมใช้งานได้ที่หัวข้อ เลือกเป้าหมาย

    • แหล่งที่มาของโปรเจ็กต์: แสดงรายการไดเรกทอรีหรือโมดูลเริ่มต้นที่ต้องการรวมไว้ในโปรเจ็กต์ หรือคลิกไอคอนโฟลเดอร์เพื่อเปิดเบราว์เซอร์ระบบไฟล์เพื่อเลือกไดเรกทอรี การเลือกไดเรกทอรีหรือโมดูลมากเกินไปจะส่งผลต่อประสิทธิภาพการจัดทำดัชนีและการค้นหาของ IDE ดังนั้นให้รวมเฉพาะไดเรกทอรีหรือโมดูลที่เกี่ยวข้อง

    • ภาษาที่รองรับ: เลือก Rust และ C++ เป็นภาษาที่รองรับ

    • ชื่อโปรเจ็กต์: ตั้งชื่อที่สื่อความหมายให้กับโปรเจ็กต์

    • ตั้งค่าให้เสร็จ: คลิกเสร็จสิ้น ASfP จะสร้างโครงสร้างโปรเจ็กต์และไฟล์การกำหนดค่า .asfp-project

ASfP จะเริ่มกระบวนการซิงค์เริ่มต้นโดยอัตโนมัติ ASfP จะวิเคราะห์ซอร์สโค้ด แก้ไขการขึ้นต่อกันโดยใช้ระบบบิลด์ Soong และสร้างข้อมูลที่จำเป็นสำหรับฟีเจอร์ความสามารถของโค้ด ซึ่งอาจใช้เวลานาน โดยเฉพาะอย่างยิ่งสำหรับการซิงค์ครั้งแรก

ปรับแต่งโปรเจ็กต์

ไฟล์ .asfp-project ในรูทของโปรเจ็กต์ช่วยให้คุณปรับแต่งเพิ่มเติมได้ คุณสามารถแก้ไขไฟล์นี้เพื่อทำสิ่งต่อไปนี้

  • เพิ่มหรือนำไดเรกทอรีและโมดูลออก
  • เปิดใช้การรองรับภาษาอื่นๆ เช่น C++ หรือ Rust (Java และ Kotlin เป็นภาษาเริ่มต้น)
  • กำหนดค่าแฟล็กบิลด์

หากต้องการทำการเปลี่ยนแปลงไฟล์การกำหนดค่า ให้เลือก ASfP > โปรเจ็กต์ > เปิดการกำหนดค่า ดูตัวเลือกการกำหนดค่าที่พร้อมใช้งานได้ที่หัวข้อ ภาพรวมของโปรเจ็กต์

แก้ไขข้อบกพร่องและทดสอบ

หากต้องการแก้ไขข้อบกพร่องและทดสอบโค้ดใน ASfP โปรดดูหัวข้อแก้ไขข้อบกพร่องของโค้ดแพลตฟอร์มและ ทดสอบโค้ดแพลตฟอร์มด้วย atest

การผสานรวมที่พร้อมใช้งาน

ASfP มาพร้อมกับการผสานรวมที่เป็นประโยชน์สำหรับการพัฒนา AAOS SDV ซึ่งรวมถึงการรองรับ Cuttlefish และ Language Server Protocol (LSP) ใน VSIDL

ปลั๊กอิน Cuttlefish

ปลั๊กอิน Cuttlefish ช่วยให้ผู้ใช้สร้างและเรียกใช้อุปกรณ์ Cuttlefish ในเครื่องได้โดยตรงจาก ASfP

ติดตั้งปลั๊กอิน

ปลั๊กอิน Cuttlefish ติดตั้งไว้ล่วงหน้าใน ASfP และไม่จำเป็นต้องตั้งค่า ปลั๊กอินต้องติดตั้งเครื่องมือ Cuttlefish ในอุปกรณ์ ทำตาม วิธีการเพื่อติดตั้งเครื่องมือ Cuttlefish หากจำเป็น

สร้างอุปกรณ์ Cuttlefish

วิธีสร้างอุปกรณ์ใหม่

  1. เปิดหน้าต่างเครื่องมือโปรแกรมจัดการอุปกรณ์โดยเลือกเครื่องมือ > โปรแกรมจัดการอุปกรณ์ หรือคลิกไอคอนอุปกรณ์ที่กำลังทำงาน ในแผงด้านขวาหากปักหมุดโปรแกรมจัดการอุปกรณ์ไว้แล้ว

  2. คลิกไอคอน + แล้วเลือกสร้างอุปกรณ์ Cuttlefish

  3. กำหนดค่าอุปกรณ์ Cuttlefish ใหม่ คุณสร้างอุปกรณ์ Cuttlefish ได้ 2 วิธี ดังนี้

    • จากการตรวจสอบซอร์สโค้ด Android ในเครื่อง

      • เลือกเส้นทางไปยังเป้าหมายที่สร้างขึ้นซึ่งสอดคล้องกับการกำหนดค่าการเปิดใช้ (ดูรายละเอียดเพิ่มเติมได้ที่หัวข้อเลือกเป้าหมาย)
      • เลือกเส้นทางโฮสต์
      • ไม่บังคับ: เลือกการกำหนดค่าอุปกรณ์ที่พร้อมใช้งาน หรือเลือกไม่มี สำหรับการกำหนดค่าเริ่มต้น
    • จากการกำหนดค่า Canonical (ใช้ตัวเลือกนี้เพื่อสร้างอุปกรณ์หลายเครื่องจากการกำหนดค่าเดียว)

      • เลือกเส้นทางไปยังการกำหนดค่าอุปกรณ์
      • ไม่บังคับ: ระบุแฟล็กการลบล้างเพื่อลบล้างตัวเลือกการกำหนดค่า
  4. รอให้ระบบสร้างอุปกรณ์ Cuttlefish และเพิ่มอุปกรณ์ลงในรายการอุปกรณ์ที่กำลังทำงานในโปรแกรมจัดการอุปกรณ์

  5. เลือกอุปกรณ์ 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 เพื่อจัดรูปแบบไฟล์ใหม่โดยอัตโนมัติ ซึ่งจะสร้างการเยื้องและระยะห่างที่สอดคล้องกัน