ออบเจ็กต์อินเทอร์เฟซผู้ให้บริการ

เอกสารนี้อธิบายการออกแบบออบเจ็กต์อินเทอร์เฟซของผู้ให้บริการ (ออบเจ็กต์ VINTF) ซึ่งรวบรวมข้อมูลที่เกี่ยวข้องเกี่ยวกับอุปกรณ์และทำให้ข้อมูลดังกล่าวพร้อมใช้งานผ่าน API ที่ค้นหาได้

การออกแบบออบเจ็กต์ VINTF

ออบเจ็กต์ VINTF จะรวบรวมข้อมูลบางอย่างที่ต้องการจากอุปกรณ์โดยตรง ส่วนอื่นๆ เช่น ไฟล์ Manifest จะอธิบายแบบคงที่ใน XML

รูปที่ 1 ไฟล์ Manifest, ตารางความเข้ากันได้ และข้อมูลที่รวบรวมได้ในช่วงรันไทม์

การออกแบบออบเจ็กต์ VINTF มีข้อมูลต่อไปนี้สำหรับคอมโพเนนต์ของอุปกรณ์และเฟรมเวิร์ก

สำหรับอุปกรณ์ สําหรับเฟรมเวิร์ก
  • กําหนดสคีมาสําหรับคอมโพเนนต์แบบคงที่ (ไฟล์ Manifest ของอุปกรณ์)
  • เพิ่มการรองรับเวลาสร้างสำหรับการกำหนดไฟล์ Manifest ของอุปกรณ์สำหรับอุปกรณ์หนึ่งๆ
  • กำหนดAPI ที่ค้นหาได้ที่รันไทม์ซึ่งจะเรียกข้อมูลไฟล์ Manifest ของอุปกรณ์ (พร้อมกับข้อมูลอื่นๆ ที่รวบรวมได้ในรันไทม์) และแพ็กเกจไว้ในผลการค้นหา
  • กําหนดสคีมาสําหรับคอมโพเนนต์แบบคงที่ (ไฟล์ Manifest ของเฟรมเวิร์ก)
  • กำหนดAPI ที่ค้นหาได้ขณะรันไทม์ ซึ่งจะดึงข้อมูลไฟล์ Manifest ของเฟรมเวิร์กและจัดแพ็กเกจเป็นผลการค้นหา

ออบเจ็กต์ VINTF ต้องเชื่อถือได้และให้ข้อมูลที่สมบูรณ์แบบเดียวกันไม่ว่าจะขอเมื่อใดก็ตาม (ดูข้อควรระวัง)

ไฟล์ Manifest และ Matrix

ตั้งแต่ Android 8.0 เป็นต้นไป API รันไทม์จะค้นหาสิ่งที่อยู่ในอุปกรณ์และส่งข้อมูลนั้นไปยังเซิร์ฟเวอร์การอัปเดตแบบ OTA และบุคคลอื่นๆ ที่สนใจ (เช่น CTSDeviceInfo) ระบบจะดึงข้อมูลบางอย่างในรันไทม์และกำหนดข้อมูลบางอย่างแบบคงที่

  • ไฟล์ Manifest ของอุปกรณ์จะอธิบายคอมโพเนนต์แบบคงที่ของสิ่งที่อุปกรณ์สามารถมอบให้เฟรมเวิร์ก
  • ตารางความเข้ากันได้ของเฟรมเวิร์กจะอธิบายสิ่งที่เฟรมเวิร์ก Android คาดหวังจากอุปกรณ์หนึ่งๆ เมทริกซ์คือเอนทิตีแบบคงที่ซึ่งกำหนดองค์ประกอบด้วยตนเองในระหว่างการพัฒนาเฟรมเวิร์ก Android รุ่นถัดไป
  • ไฟล์ Manifest ของเฟรมเวิร์กจะอธิบายบริการระดับสูงที่เฟรมเวิร์กสามารถให้บริการแก่อุปกรณ์
  • เมทริกซ์ความเข้ากันได้ของอุปกรณ์จะอธิบายบริการที่รูปภาพผู้ให้บริการต้องการจากเฟรมเวิร์ก โดยกำหนดองค์ประกอบด้วยตนเองในระหว่างการพัฒนาอุปกรณ์

คุณต้องปรับยอดไฟล์ Manifest และเมทริกซ์ 2 คู่นี้เมื่อถึงเวลา OTA เพื่อให้อุปกรณ์รับการอัปเดตเฟรมเวิร์กที่เข้ากันได้กับความสามารถของอุปกรณ์ โดยทั่วไป ไฟล์ Manifest จะอธิบายสิ่งที่มีให้ และตารางความเข้ากันได้จะอธิบายสิ่งที่จําเป็น

ส่วนนี้ประกอบด้วยรายละเอียดต่อไปนี้เกี่ยวกับไฟล์ Manifest และตาราง

  • ไฟล์ Manifest จะกำหนดไฟล์ Manifest ของอุปกรณ์ ไฟล์ Manifest ของเฟรมเวิร์ก และสคีมาไฟล์ Manifest
  • เมทริกซ์ความเข้ากันได้จะกำหนดสคีมาสำหรับเมทริกซ์ความเข้ากันได้
  • รายละเอียดวงจรชีวิตของ FCM กล่าวถึงการเลิกใช้งานและนํา HIDL HAL ออก รวมถึงการแก้ไขไฟล์ FCM ให้แสดงสถานะของเวอร์ชัน HAL
  • การพัฒนา DM อธิบายวิธีกำหนดและประกาศเวอร์ชัน FCM เป้าหมายในไฟล์ Manifest ของอุปกรณ์สำหรับอุปกรณ์ใหม่ หรือติดตั้งใช้งาน HAL เวอร์ชันใหม่และเพิ่มเวอร์ชัน FCM เป้าหมายเมื่ออัปเกรดรูปภาพผู้ให้บริการสำหรับอุปกรณ์เก่า
  • กฎการจับคู่ กำหนดกฎสำหรับการจับคู่ที่สำเร็จระหว่างเมทริกซ์ความเข้ากันได้กับไฟล์ Manifest