การควบคุมฟีเจอร์ของบริการรถยนต์

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

รายการฟีเจอร์เสริม

ฟีเจอร์การควบคุมรถที่ไม่บังคับซึ่งคุณเปิดและปิดใช้ได้แสดงอยู่ในตารางด้านล่าง

ฟีเจอร์การควบคุมรถยนต์ ค่าสตริง
บริการ EVS ในรถยนต์ car_evs_service
บริการล็อกกุญแจรถยนต์รุ่นทดลอง experimental_car_keyguard_service
บริการนำทางของรถ car_navigation_service
บริการเชื่อมต่อผู้ที่อยู่ในรถ car_occupant_connection_service
บริการเข้าถึงด้วยรีโมตรถยนต์ car_remote_access_service
บริการอุปกรณ์ระยะไกลของรถยนต์ car_remote_device_service
บริการวัดและส่งข้อมูลทางไกลสำหรับรถยนต์ car_telemetry_service
บริการประกาศผู้ใช้รถ com.android.car.user.CarUserNoticeService
บริการสำหรับบ้านของคลัสเตอร์ cluster_home_service
บริการวินิจฉัย diagnostic
ปริมาณการรับรู้ว่ามีคนอยู่ occupant_awareness
บริการตรวจสอบพื้นที่เก็บข้อมูล storage_monitoring
บริการแผนที่ในรถยนต์ vehicle_map_service

เปิดและปิดใช้ฟีเจอร์การควบคุมรถยนต์

คุณควบคุมการรองรับฟีเจอร์ในบิลด์ได้ 2 วิธี ได้แก่ การใช้การซ้อนทรัพยากรรันไทม์ (RRO) หรือผ่านเลเยอร์การแยกแยะฮาร์ดแวร์ของยานพาหนะ (VHAL)

ใช้ RRO

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

ใช้ VHAL

เลเยอร์การแยกแยะฮาร์ดแวร์ของยานพาหนะ (VHAL) จะควบคุมฟีเจอร์ต่างๆ โดยทำหน้าที่เป็นรายการที่บล็อกเพื่อปิดใช้ฟีเจอร์ที่ไม่บังคับบางรายการ พร็อพเพอร์ตี้ VHAL ที่มีชื่อว่า DISABLED_OPTIONAL_FEATURES จะแสดงรายการฟีเจอร์ที่ไม่บังคับในการวางซ้อนที่จะปิดใช้ หากไม่มีพร็อพเพอร์ตี้นี้ ระบบจะเปิดใช้รายการฟีเจอร์ที่ไม่บังคับจาก RRO ทั้งหมด ดูข้อมูลเพิ่มเติมเกี่ยวกับ VHAL ได้ที่ภาพรวม VHAL

ใช้คำสั่ง Shell สำหรับการแก้ไขข้อบกพร่อง

วิธีที่สามในการควบคุมว่าจะเปิดหรือปิดใช้ฟีเจอร์ที่ไม่บังคับรายการใดนั้นใช้คำสั่งเชลล์ 2 รายการ ซึ่งใช้ได้เฉพาะในรุ่น user-debug และจัดทำขึ้นเพื่อนักพัฒนาซอฟต์แวร์เท่านั้น ตารางในรายการฟีเจอร์ที่ไม่บังคับมีค่าที่จะใช้แทน <FEATURE_STRING_VALUE>

วิธีเปิดใช้ฟีเจอร์

adb root; adb shell cmd car_service enable-feature <FEATURE_STRING_VALUE>; adb reboot

วิธีปิดใช้ฟีเจอร์

adb root; adb shell cmd car_service disable-feature <FEATURE_STRING_VALUE>; adb reboot

ตรวจสอบว่าฟีเจอร์ใดบ้างที่เปิดใช้อยู่

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

adb shell dumpsys car_service --services CarFeatureController

คำสั่งนี้จะแสดงประเภทข้อมูลที่แสดงด้านล่าง

ค่า คำอธิบาย
mEnabledFeatures ฟีเจอร์ที่เปิดใช้อยู่ในปัจจุบัน
mDefaultEnabledFeaturesFromConfig ฟีเจอร์เสริมที่แสดงใน config_allowed_optional_car_features
mDisabledFeaturesFromVhal ฟีเจอร์ที่ VHAL ระบุให้ปิดใช้ในพร็อพเพอร์ตี้ VHAL DISABLED_OPTIONAL_FEATURES
mPendingEnabledFeatures ฟีเจอร์ที่จะเปิดใช้เมื่อรีบูต
mPendingDisabledFeatures ฟีเจอร์ที่จะปิดใช้หลังจากรีบูต