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

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

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

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

ฟีเจอร์การควบคุมรถยนต์ ค่าสตริง
บริการ 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 ฟีเจอร์ที่จะปิดใช้หลังจากรีบูต