โทเค็นการออกแบบ OEM คือการใช้งานระบบ Material Design ใน Android Automotive OS (AAOS) OEM จะกำหนดค่าโทเค็นการออกแบบ ซึ่งแตกต่างจากแนวทางการใช้อัลกอริทึมหรือการเลือกของผู้ใช้สำหรับค่าโทเค็นบนอุปกรณ์เคลื่อนที่ โทเค็นการออกแบบแสดงถึงการตัดสินใจเล็กๆ ซ้ำๆ เกี่ยวกับการออกแบบที่ประกอบกันเป็นสไตล์ภาพของระบบการออกแบบ และแทนที่ค่าคงที่ด้วยชื่อที่สื่อความหมาย โทเค็นจะคล้ายกับโทเค็นที่ระบบ Material Design กำหนด
ไลบรารีโทเค็น OEM
โทเค็นการออกแบบ OEM จะอ้างอิงผ่านคลังโทเค็น OEM ซึ่งประกอบด้วยคอมโพเนนต์ 3 รายการที่แสดงในรูปที่ 1
รูปที่ 1 คอมโพเนนต์ไลบรารีโทเค็น OEM
ไลบรารีแบบคงที่
คอมโพเนนต์ไลบรารีแบบคงที่ของไลบรารีโทเค็น OEM ช่วยให้เข้าถึงค่าโทเค็นได้ดังนี้
- มี API ในการเข้าถึงค่า 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 ด้วยการวางซ้อนทรัพยากรรันไทม์ (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 (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 เป็นแอประบบ แต่การติดตั้งแอปดังกล่าวจะช่วยให้มีลักษณะการอัปเดตบางอย่างที่อาจต้องการ
- การอัปเดตแอปโดยอัตโนมัติเมื่อผู้ใช้ไม่ได้ลงชื่อเข้าใช้
- ผู้ใช้ถอนการติดตั้งไม่ได้ (ผู้ใช้จะถอนการติดตั้งอัปเดตได้เท่านั้น)