หน้านี้จะอธิบายฟีเจอร์และการปรับปรุงใน 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รับซอร์สโค้ดของแอปนี้ได้ใน Branchcar-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
- แท็ก
@SystemApienum ของพร็อพเพอร์ตี้: 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#cannotGetSmsRoleHolderForAnotherUserCtsMediaHostTestCases:AudioServiceRebootHostTest#testVolumePersists_AfterRebootCtsPermissionUiTestCases: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 |