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