การอัปเดตแพ็กเกจบริการ

คุณอัปเดตแพ็กเกจบริการเป็นแพ็กเกจ APEX ได้โดยไม่ต้องอัปเดตระบบทั้งหมด ใน SDV กระบวนการอัปเดตนี้ได้รับการจัดการโดยตัวจัดการการอัปเดต SDV คุณต้องรีบูตอุปกรณ์เพื่อให้การอัปเดตมีผล

ระบบรองรับ APEX 2 ประเภทสำหรับการอัปเดต Service Bundle ดังนี้

  • APEX ที่ติดตั้งไว้ล่วงหน้า: แพ็กเกจ APEX เวอร์ชันก่อนหน้ามีอยู่แล้ว ในพาร์ติชันแบบอ่านอย่างเดียว (/system, /system_ext, /product, /vendor และ /odm)

  • APEX ใหม่: ไม่มีแพ็กเกจ APEX ที่มีชื่อเดียวกัน (ตามที่ประกาศไว้ใน apex_manifest.json) อยู่ในพาร์ติชันแบบอ่านอย่างเดียว

APEX ที่ติดตั้งไว้ล่วงหน้า

นี่เป็นวิธีที่ใช้กันโดยทั่วไปและเราขอแนะนำให้ใช้วิธีนี้ในการอัปเดตแพ็กเกจบริการ การอัปเดตนี้จึงจะใช้ได้ แพ็กเกจ APEX ใหม่ต้องเป็นไปตามข้อกำหนดต่อไปนี้

  • มีชื่อแพ็กเกจเดียวกันใน apex_manifest.json กับ APEX ที่ติดตั้งไว้ล่วงหน้า

  • ประกาศรหัสเวอร์ชันที่สูงกว่าใน apex_manifest.json มากกว่า APEX ที่ติดตั้งไว้ล่วงหน้า

  • ลงนาม APEX ด้วยคู่คีย์เดียวกันกับ APEX ที่ติดตั้งไว้ล่วงหน้า

APEX ใหม่

แม้ว่าการใช้ APEX ที่ติดตั้งไว้ล่วงหน้าจะเป็นแนวทางปฏิบัติแนะนำด้านความปลอดภัย แต่ระบบก็รองรับ APEX ใหม่ เมื่อใช้วิธีนี้ พาร์ทเนอร์มีหน้าที่รับผิดชอบในการดูแล โปรโตคอลความปลอดภัยที่ครอบคลุม ความรับผิดชอบเหล่านี้ ได้แก่

  • การจัดการคีย์การลงนามที่ใช้สำหรับ APEX เหล่านี้อย่างปลอดภัย

  • สร้างกระบวนการที่มีประสิทธิภาพเพื่อระบุและบล็อกแพ็กเกจที่เป็นอันตราย

  • แปลง APEX ใหม่เป็น APEX ที่ติดตั้งไว้ล่วงหน้าในการอัปเดตระบบครั้งต่อๆ ไป เมื่อเป็นไปได้

หากต้องการติดตั้งหรืออัปเดต APEX ใหม่ คุณต้องกำหนดค่าต่อไปนี้

ติดตั้งคีย์สาธารณะที่เชื่อถือได้ล่วงหน้า

หากต้องการติดตั้ง APEX ใหม่ จะต้องติดตั้งคีย์การลงนามสาธารณะของ APEX นั้นล่วงหน้าใน พาร์ติชันเป้าหมาย วางคีย์สาธารณะใน /partition/etc/brand_new_apex/ โดย /partition/ แสดงถึงพาร์ติชันที่ APEX เชื่อมโยงด้วย ภายใต้กฎ Treble เช่น หากระบบยืนยันลายเซ็นของ APEX กับ คีย์สาธารณะใน /vendor/etc/brand_new_apex/ APEX นั้นจะทำงานเป็น APEX ของผู้ให้บริการ ระบบจะปฏิเสธ APEX ใหม่ที่ไม่ได้ลงนามด้วยคีย์ที่สอดคล้องกับ คีย์สาธารณะที่ติดตั้งไว้ล่วงหน้า

บล็อก APEX ใหม่ที่เป็นอันตราย

หากพบว่า APEX ใหม่เป็นอันตรายหลังการติดตั้ง จะต้องบล็อกโดยใช้การอัปเดตระบบ โดยให้เพิ่มชื่อแพ็กเกจ APEX ลงในไฟล์รายการที่บล็อก ใน /partition/etc/brand_new_apex/blocklist.json ต้องวางรายการที่ถูกบล็อกนี้ ในพาร์ติชันเป้าหมายของ APEX (พาร์ติชันเดียวกันกับที่ติดตั้งคีย์สาธารณะ ไว้ล่วงหน้า) แต่ละพาร์ติชันจะมีไฟล์รายการที่ถูกบล็อกเฉพาะของตัวเอง