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

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

รายการฟีเจอร์ที่ไม่บังคับ

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

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

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

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

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