Android Automotive 25Q4

หน้านี้จะอธิบายฟีเจอร์และการปรับปรุงใน Android Automotive OS (AAOS) เวอร์ชัน 25Q4 AAOS 25Q4 เป็นเวอร์ชันเสถียรอย่างเป็นทางการ 25Q4 มีฟีเจอร์ใหม่ 8 รายการและแก้ไขปัญหา 180 รายการ

AAOS 25Q4 ใช้ ระดับ API 16.1

ฟีเจอร์

AAOS เวอร์ชันนี้มีฟีเจอร์ใหม่ตามที่อธิบายไว้ที่นี่

Framework

การรองรับการควบคุมแบบหมุนสำหรับ Jetpack Compose

  • Android 14 ขึ้นไป: AAOS มีการรองรับการควบคุมแบบหมุนในตัวขั้นพื้นฐานสำหรับอินเทอร์เฟซผู้ใช้ Jetpack Compose ซึ่งรวมถึงการหมุนตัวควบคุมและการเลื่อน

  • Android 12, Android 12L และ Android 13: AAOS มีการรองรับการควบคุมแบบหมุนสำหรับ UI ของ Compose อย่างจำกัด การหมุนตัวควบคุมจะทำงานร่วมกับการแก้ปัญหาชั่วคราวที่ฝั่งแอป เราไม่รองรับการเลื่อน

    ดูข้อมูลเพิ่มเติมได้ที่ตัวอย่าง View Compose Activity ในแอป RotaryPlayground รับซอร์สโค้ดของแอปนี้ได้ใน Branch car-apps-dev

ประสิทธิภาพและสถานะของระบบ

  • หยุดแอปของผู้ใช้ก่อนหน้า: ระบบจะหยุดแอปของผู้ใช้ก่อนหน้าเร็วขึ้นในกระบวนการเปลี่ยนผู้ใช้เพื่อลดเวลาในการเปลี่ยนผู้ใช้และขนาดหน่วยความจำ

ประสบการณ์การใช้งานระบบ

UI ที่รองรับการปรับขนาด

AAOS เพิ่มโซลูชันการจัดหน้าต่างเฉพาะสำหรับยานยนต์เพื่อรองรับ OEM ในการพัฒนา ประสบการณ์การจัดหน้าต่างขั้นสูงด้วย UI ที่รองรับการปรับขนาดในวิธีที่ปลอดภัย เป็นไปตามข้อกำหนด และคุ้มค่า เฟรมเวิร์กนี้ช่วยให้นักพัฒนาแอปออกแบบโครงสร้างการจัดหน้าต่างด้วยภาษาประกาศในการกำหนดค่า XML ได้

  • การโฟกัสงานใน UI ที่รองรับการปรับขนาด: นำชุดกฎมาใช้เพื่อกำหนดว่างานใดจะได้รับโฟกัสในสภาพแวดล้อมแบบหลายหน้าต่าง (เช่น การเปิดและปิดแผง) แอตทริบิวต์ onTransition ใหม่ในแท็ก Focus ช่วยให้ควบคุมได้ละเอียดยิ่งขึ้น

  • กลไกการรีสตาร์ทอัตโนมัติใน UI ที่รองรับการปรับขนาด: แผง UI ที่รองรับการปรับขนาดจะจัดการการขัดข้องของแอปอย่างเหมาะสมด้วยการเปิดแอปที่มีข้อบกพร่องอีกครั้ง หากต้องการแก้ไข การสิ้นสุดงานที่ไม่คาดคิดในแผง UI ให้กำหนดค่ากลไกการรีสตาร์ทงาน อัตโนมัติด้วยแท็ก XML <Restart> ใหม่เพื่อกำหนดนโยบายการรีสตาร์ท และจำนวนการลองใหม่สูงสุด

  • การปรับปรุงประสิทธิภาพเมื่อลากแผงตกแต่งและการวัดประสิทธิภาพ: AAOS ช่วยเพิ่มประสิทธิภาพให้กับภาพเคลื่อนไหวการลากแผงแบบโต้ตอบ และเพิ่มการวัดประสิทธิภาพลงในไลบรารี UI ที่รองรับการปรับขนาดเพื่อวัดความไม่สอดคล้องกันระหว่างเส้นทางของผู้ใช้ที่สำคัญ

    การติดตาม Perfetto ของ OEM จะให้ข้อมูลเมตาเพิ่มเติมที่รายงานเฉพาะสิ่งที่เกิดขึ้นในการจัดหน้าต่างและในไลบรารี UI ที่รองรับการปรับขนาด

  • มุมมองการตกแต่งแผงจะปรับและตอบสนองต่อการเปลี่ยนแปลงธีม: การกำหนดธีมของแผงจะปรับให้เข้ากับการเปลี่ยนแปลงธีม เช่น การสลับระหว่างโหมดสว่างและโหมดมืด หรือการอัปเดตธีมอื่นๆ ที่ระดับ SysUI

คำสั่งการแก้ไขข้อบกพร่องของผู้ใช้และเครื่องมือสำหรับนักพัฒนาแอป

  • คำสั่งเชลล์จะแสดงสถานะแผงปัจจุบันและส่งเหตุการณ์ผ่าน adb: ใช้คำสั่ง adb เพื่อเปลี่ยนสถานะแผงภาพ เช่น การเปิดหรือปิดแผง

    คำสั่งเชลล์จะทริกเกอร์เหตุการณ์ในระบบ เช่น หากต้องการปิดแผงตารางกริดสำหรับแอปเมื่อเปิดอยู่ ให้เรียกใช้ adb shell cmd statusbar carsysui-dispatch-event close_app_grid

  • สถานะแผงจะรวมอยู่ในการดัมพ์ข้อมูลกิจกรรม: การดัมพ์ข้อมูลกิจกรรมจะรวมสถานะแผง ใช้เครื่องมือแก้ไขข้อบกพร่องเพื่อรับสถานะแผงด้วยคำสั่งเชลล์ dumpsys adb

    คำสั่งจะแสดงสถานะแผงปัจจุบันเมื่อไม่มีการดำเนินการภาพ คำสั่งคือ

    adb shell cmd statusbar carsysui-dump-panelstates
    

การบันทึกและการติดตามข้อมูลของ OEM

  • เพิ่มการบันทึกลงในเหตุการณ์การสมัครใช้บริการข้อมูลรถยนต์: การบันทึกการเชื่อมต่อของผู้ใช้พร้อมให้บริการสำหรับ OEM เพื่อปรับปรุงการติดตามข้อมูล

แอปหลัก

เพื่อช่วยยืนยันการปฏิบัติตามข้อกำหนดของเอกสารนิยามความเข้ากันได้ (CDD) และชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) สำหรับแอปบนมือถือที่พร้อมใช้งานกับรถยนต์ เราได้ปรับปรุงความเข้ากันได้และความสามารถในการใช้งานของแอปของบุคคลที่สามในสภาพแวดล้อมยานยนต์ ตัวอย่างการอ้างอิงพร้อมใช้งานสำหรับการแสดงผลย้อนกลับเพื่อแสดงแนวทางปฏิบัติแนะนำสำหรับการนำทางที่ราบรื่น

  • การปรับปรุงกิจกรรมการบล็อกกิจกรรม (ABA): AAOS ปรับแต่งลักษณะการทำงานของ OnStop ABA เพื่อปรับปรุงการจัดการวงจรการทำงาน

  • สี่เหลี่ยมผืนผ้าที่ปลอดภัยสำหรับการแสดงผลแอป: AAOS กำหนดพื้นที่แสดงแอปที่กำหนดไว้เพื่อช่วยยืนยันระดับการมองเห็นเนื้อหาและหลีกเลี่ยงการบดบัง

  • การปรับขนาด DPI: AAOS ปรับองค์ประกอบ UI ให้เหมาะสมตามความละเอียดของจอแสดงผลและระยะการรับชม

  • การลบล้างต่อแอป: AAOS ช่วยให้คุณควบคุมลักษณะการทำงานของแอป เช่น การวางแนวและสัดส่วนภาพ

  • การปรับปรุงความเข้ากันได้: AAOS มีฟังก์ชันการทำงานหลักของ Android เช่น DocumentsUI และเพิ่มการปรับปรุงความเข้ากันได้กับแอปของบุคคลที่สาม

  • การควบคุมแอปทางเลือก: AAOS ช่วยให้ผู้ใช้ควบคุมเสียงที่ไม่ใช่จากศูนย์สื่อขณะขับรถ โดยเฉพาะจากแอปการสื่อสาร

พร็อพเพอร์ตี้ VHAL

  • แท็ก @SystemApi enum ของพร็อพเพอร์ตี้: AAOS ช่วยให้แอปของบุคคลที่สามเข้าถึง enum ของพร็อพเพอร์ตี้ที่กำหนดให้เข้าถึงได้สำหรับแอปของบุคคลที่สาม

เสียง

  • API การเฟดและบาลานซ์: AAOS อัปเดตแอปของบุคคลที่หนึ่งเพื่อดึงการตั้งค่าการเฟดและบาลานซ์ปัจจุบันของผู้ใช้ ระดับเสียงเหล่านี้จะยังคงอยู่ต่อผู้ใช้ในรอบการติดเครื่อง การอัปเดตนี้ช่วยให้การตั้งค่าเสียงที่ผู้ใช้ควบคุมได้อื่นๆ ใน API เสียงของรถยนต์มีความเท่าเทียมกัน

ความเป็นส่วนตัว

  • การควบคุมการเข้าถึงข้อกำหนดในการให้บริการของ Google: คุณสามารถปิดใช้งานแอปจนกว่าผู้ใช้จะยอมรับข้อกำหนดในการให้บริการของ Google ไอคอนของแอปที่ปิดใช้งานจะปรากฏเป็นสีเทาเพื่อระบุสถานะที่ไม่มีการใช้งาน

    การแตะแอปที่ปิดใช้งานจะแจ้งให้ผู้ใช้ยอมรับข้อกำหนดในการให้บริการของ Google

    ใน Android 25Q4 ฟีเจอร์นี้เข้ากันได้กับประสบการณ์การใช้งานของ OEM ที่วางประสบการณ์การใช้งาน Google แบบถาวรไว้ในแผงพื้นหลังที่กำหนดค่าโดยใช้ UI ที่รองรับการปรับขนาด ตัวอย่างเช่น กิจกรรม Google Maps แบบถาวรที่ตั้งค่าเป็นประสบการณ์การใช้งานหน้าจอหลัก จะปรากฏเป็นสีเทาจนกว่าผู้ใช้จะยอมรับการควบคุมการเข้าถึงข้อกำหนดในการให้บริการของ Google

การปฏิบัติตามข้อกำหนด

AAOS ทดสอบการปฏิบัติตามข้อกำหนดของ Android ใน Cuttlefish และฮาร์ดแวร์อ้างอิงภายในด้วยชุดเครื่องมือทดสอบเหล่านี้ใน GSI: CTS, CTS-V, ATS, ATS-V, STS, VTS และ CTS ใน GSI

ไม่มีข้อผิดพลาดใดที่ต้องมีการแก้ไขในโค้ด Android 16 (android16-release) หรือ Branch การทดสอบ Android 16 (android16-m1-tests-dev) ยกเว้นปัญหาที่ระบุไว้ด้านล่าง

เราวางแผนที่จะแก้ไขปัญหาการปฏิบัติตามข้อกำหนดเหล่านี้ในการเผยแพร่ AOSP ที่กำลังจะมาถึง

  • CtsAppSecurityHostTestCases: RoleSecurityTest#cannotGetSmsRoleHolderForAnotherUser

  • CtsMediaHostTestCases: AudioServiceRebootHostTest#testVolumePersists_AfterReboot

  • CtsPermissionUiTestCases: PermissionTest23#testInteractiveGrant

การทดสอบล้มเหลวของ Android ในไตรมาสที่ 4 ปี 2025

ส่วนนี้แสดงรายการกรณีทดสอบที่ล้มเหลวสำหรับ Android 25Q4 ซึ่งเฉพาะเจาะจงกับ Cuttlefish เท่านั้น การทดสอบที่ล้มเหลวจะผ่านในฮาร์ดแวร์อ้างอิงภายใน เรายืนยันกรณีทดสอบที่ไม่สอดคล้องกันใน Cuttlefish และฮาร์ดแวร์อ้างอิงภายใน

เรากำหนดความไม่สอดคล้องกันของการทดสอบโดยการประเมินผลลัพธ์ของการบิลด์ 15 รายการติดต่อกันซึ่งมีการทดสอบล้มเหลวหลายกลุ่ม

กรณีทดสอบ จำนวนข้อผิดพลาด
CtsWindowManagerBackgroundActivityTestCases 6
CtsJvmtiAttachingHostTestCases 5
CtsViewTestCases 5
CtsStagedInstallHostTestCases 3
CtsUiRenderingTestCases27 2
CtsWindowManagerDeviceActivity 2
CtsAppOpsTestCases 1
CtsNetTestCasesLegacyApi22 1
CtsStatsdAtomHostTestCases 1
CtsUiRenderingTestCases 1