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

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

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

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

ฟีเจอร์การควบคุมรถยนต์ ค่าสตริง
บริการ 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) หรือผ่านเลเยอร์ Abstraction Layer ของยานพาหนะสำหรับยานพาหนะ (VHAL)

ใช้ RRO

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

ใช้ VHAL

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

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

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