โทเค็นการออกแบบ OEM เป็นการติดตั้งใช้งาน Android Automotive OS (AAOS) ของ ดีไซน์ Material ระบบ OEM แตกต่างจากการใช้อัลกอริทึมหรือผู้ใช้สำหรับค่าโทเค็นบนอุปกรณ์เคลื่อนที่ ค่าโทเค็นการออกแบบ โทเค็นการออกแบบแสดงถึงการตัดสินใจด้านการออกแบบเล็กๆ น้อยๆ ที่ทำซ้ำซึ่งรวมกันเป็น ออกแบบสไตล์ภาพของระบบและแทนที่ค่าคงที่ด้วยชื่อที่บ่งบอกความเป็นตัวเอง โทเค็นคือ คล้ายกับรูปแบบที่ระบบดีไซน์ Material กำหนดไว้
ไลบรารีโทเค็น OEM
โทเค็นการออกแบบ OEM จะอ้างอิงผ่านไลบรารีโทเค็น OEM ซึ่งประกอบด้วย ส่วนประกอบที่แสดงในรูปที่ 1
รูปที่ 1 คอมโพเนนต์ไลบรารีโทเค็น OEM
ไลบรารีแบบคงที่
คอมโพเนนต์ไลบรารีแบบคงที่ของไลบรารีโทเค็น OEM ช่วยอำนวยความสะดวกในการเข้าถึงค่าโทเค็น ติดตาม
- ระบุ API เพื่อเข้าถึงค่า OEM สำหรับโทเค็น
- เปิดใช้การเลือกใช้การลบล้างการอ้างอิงโทเค็นในธีมที่มีค่า OEM
คลังที่ใช้ร่วมกัน
คอมโพเนนต์ไลบรารีที่ใช้ร่วมกันมีหน้าที่กำหนดสิ่งต่อไปนี้
- ชื่อคลัง
- การเลือกใช้บูลีนสำหรับเปิดใช้ค่าโทเค็น OEM
- รูปแบบที่มีค่าโทเค็น OEM
เพื่อรองรับการเป็นเจ้าของ OEM ของคอมโพเนนต์ไลบรารีที่ใช้ร่วมกันนี้ ซึ่งรวมถึงแพ็กเกจที่ OEM กำหนด OEM สามารถสร้างการลบล้างในการใช้งานไลบรารีที่ใช้ร่วมกันได้
รูปที่ 2 ลบล้างการใช้งานไลบรารีที่ใช้ร่วมกัน
ไลบรารีที่ใช้ร่วมกันของ OEM
การลบล้าง OEM ของคอมโพเนนต์ไลบรารีที่ใช้ร่วมกันจะช่วยให้เป็นเจ้าของ OEM ของไลบรารีได้ รักษาความเข้ากันได้กับคอมโพเนนต์อื่นๆ ในไลบรารีโทเค็น OEM ด้วยการมอบวิธีการ ชื่อแพ็กเกจและลายเซ็นที่ OEM จะเป็นผู้ตั้งค่าขณะที่เลิกใช้ หรือไม่มีการแก้ไข
คุณกำหนดการลบล้างสำหรับไลบรารีที่ใช้ร่วมกันได้ดังที่แสดงด้านล่างนี้
override_android_app { name: "[OEM]-token-shared-lib", base: "token-shared-lib", package_name: "com.[OEM].sharedlib", rename_resources_package: false, certificate: … }
หากต้องการตั้งค่าโทเค็น โปรดดูหัวข้อระบุค่าโทเค็น OEM
การปรับแต่งไลบรารีที่ใช้ร่วมกันของ OEM
เพื่อรองรับรูปแบบที่หลากหลายสำหรับค่าโทเค็น (เช่น การแยกความแตกต่างของรุ่นหรือโหมดไดรฟ์) OEM ระบุค่าแบบไดนามิกสำหรับโทเค็นได้โดยการกำหนดเป้าหมายไลบรารีที่ใช้ร่วมกันของ OEM ด้วยรันไทม์ Resource Overlays (RRO) ดูข้อมูลเพิ่มเติมได้ที่ เปลี่ยนค่าทรัพยากรของแอปขณะรันไทม์
หากต้องการตั้งค่าโทเค็น โปรดดูหัวข้อระบุค่าโทเค็น OEM
ระบุค่าโทเค็น OEM
หากต้องการระบุค่าโทเค็น ให้ตั้งค่าแอตทริบิวต์ที่เกี่ยวข้องในรูปแบบ OemStyle
เป็น
ค่าที่กำหนด
<resources> <style name="OemStyle"> <item name="colorPrimary">#B0C5FF</item> <item name="colorOnPrimary">#002B76</item> <item name="colorPrimaryContainer">#003FA4</item> <item name="colorOnPrimaryContainer">#D9E2FF</item> … </style> </resources>
เลือกใช้ค่า OEM
OEM จะต้องเลือกใช้การลบล้างค่าเริ่มต้นก่อน เพื่อให้แอปเข้าถึงค่าโทเค็นที่ OEM ให้มาได้
ค่าโทเค็นโดยการกำหนดค่าบูลีน enable_oem_tokens
เป็น true
ค่าโทเค็น RRO
เช่นเดียวกับวิธีตั้งค่าโทเค็นใน OemStyle
โดยใช้ RRO เพื่อแก้ไข
เพื่อระบุค่าโทเค็นทางเลือก
<resources> <style name="OemStyle"> <item name="com.android.oem.tokens:colorPrimary">#B0C5FF</item> <item name="com.android.oem.tokens:colorOnPrimary">#002B76</item> <item name="com.android.oem.tokens:colorPrimaryContainer">#003FA4</item> <item name="com.android.oem.tokens:colorOnPrimaryContainer">#D9E2FF</item> … </style> </resources>
RRO ควรตั้งค่าแอตทริบิวต์ไลบรารีที่ใช้ร่วมกันในรูปแบบโดยระบุไลบรารีที่ใช้ร่วมกัน ชื่อ
กำหนดค่าการโหลดล่าสุด
ระบบที่มีการใช้งาน OEM ของไลบรารีที่ใช้ร่วมกันโทเค็นต้องกำหนดค่าระบบ
เพื่อโหลดไลบรารีที่ใช้ร่วมกันหลังชั้นเรียนแอป โดยใส่ชื่อไลบรารี
(com.android.oem.tokens
) ในconfig_sharedLibrariesLoadedAfterApp
กำหนดค่าในระบบ หากคุณมีสิทธิ์เข้าถึง Google Automotive Services (GAS) การดําเนินการนี้จะมีผลบังคับใช้เป็น
ข้อกำหนดในการให้บริการ
<!-- The OEM token shared library will be loaded after app classes --> <string-array name="config_sharedLibrariesLoadedAfterApp" translatable="false"> <item>com.android.oem.tokens</item> </string-array>
แนวทางปฏิบัติแนะนำ
ด้านล่างคือแนวทางปฏิบัติแนะนำสำหรับไลบรารีโทเค็น OEM
ใช้กลยุทธ์การอัปเดตที่ยืดหยุ่น
ดูกลยุทธ์ด้านล่างเพื่อสร้างความยืดหยุ่นเกี่ยวกับการอัปเดต
ไลบรารีที่ใช้ร่วมกันของ OEM
เนื่องจากต้องมีการติดตั้งไลบรารีที่แชร์ของระบบไว้ล่วงหน้าในอิมเมจระบบ อุปกรณ์ต้องดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้ จัดส่งไปพร้อมกับไลบรารี หรือต้องเพิ่มไลบรารีเป็นส่วนหนึ่งของการอัปเดตผ่านอากาศ (OTA) (เพื่อเรียนรู้ เพิ่มเติม โปรดดูการอัปเดต OTA) อย่างไรก็ตาม รวมถึงการใช้ stub สำหรับการลบล้าง OEM ของไลบรารีที่ใช้ร่วมกันของโทเค็น OEM ใน อิมเมจระบบช่วยให้สามารถพุชการอัปเดตไปยังอุปกรณ์ที่ โดยอัตโนมัติโดยไม่ต้องมี OTA
RRO ไลบรารีที่ใช้ร่วมกัน
แม้ว่าจะไม่มีข้อกำหนดให้ติดตั้ง RRO เป็นแอประบบ แต่การทำเช่นนี้จะทำให้ อัปเดตพฤติกรรมที่อาจต้องการ
- การอัปเดตแอปอัตโนมัติเมื่อผู้ใช้ไม่ได้ลงชื่อเข้าใช้
- ผู้ใช้ไม่สามารถถอนการติดตั้งได้ (ผู้ใช้ทำได้เพียงถอนการติดตั้งอัปเดตเท่านั้น)