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

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

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

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

ฟีเจอร์การควบคุมรถยนต์ ค่าสตริง
บริการ 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) หรือใช้ Vehicle ระดับชั้นการจัดการฮาร์ดแวร์โดยตรง (VHAL)

ใช้ RRO

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

ใช้ VHAL

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

ใช้คำสั่งเชลล์การแก้ไขข้อบกพร่อง

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