Android Automotive 25Q4

इस पेज पर, Android Automotive OS (AAOS) 25Q4 रिलीज़ में शामिल सुविधाओं और किए गए सुधारों के बारे में बताया गया है. AAOS 25Q4, आधिकारिक तौर पर रिलीज़ किया गया वर्शन है. 25Q4 में आठ नई सुविधाएं हैं और इसमें 180 समस्याओं को ठीक किया गया है.

AAOS 25Q4, एपीआई लेवल 16.1 का इस्तेमाल करता है.

सुविधाएं

AAOS के इस वर्शन में, यहां बताई गई नई सुविधाएं उपलब्ध हैं.

Framework

Jetpack Compose के लिए रोटरी सपोर्ट:

  • Android 14 और इसके बाद के वर्शन: AAOS, Jetpack Compose के यूज़र इंटरफ़ेस के लिए, बुनियादी रोटरी सपोर्ट की सुविधा देता है. इसमें कंट्रोलर रोटेशन और नडिंग शामिल हैं.

  • Android 12, Android 12L, और Android 13: AAOS, Compose के यूज़र इंटरफ़ेस के लिए सीमित रोटरी सपोर्ट की सुविधा देता है. कंट्रोलर रोटेशन, ऐप्लिकेशन के लिए बनाए गए वर्कअराउंड के साथ काम करता है. हम नडिंग की सुविधा नहीं देते.

    ज़्यादा जानने के लिए, RotaryPlayground ऐप्लिकेशन में, View Compose Activity का डेमो देखें. इस ऐप्लिकेशन का सोर्स कोड, car-apps-dev ब्रांच पर पाएं.

परफ़ॉर्मेंस और सिस्टम की सेहत

  • पहले के उपयोगकर्ताओं के ऐप्लिकेशन बंद करना: उपयोगकर्ता के स्विच करने में लगने वाले समय और मेमोरी फ़ुटप्रिंट को कम करने के लिए, सिस्टम उपयोगकर्ता के स्विच करने की प्रोसेस में, पहले के उपयोगकर्ता के ऐप्लिकेशन को पहले ही बंद कर देता है.

सिस्टम का अनुभव

स्केलेबल यूज़र इंटरफ़ेस (यूआई)

AAOS, ऑटोमोटिव के लिए खास तौर पर बनाया गया विंडोइंग सलूशन जोड़ता है. इससे ओईएम को सुरक्षित, नियमों के मुताबिक, और किफ़ायती तरीके से, स्केलेबल यूज़र इंटरफ़ेस (यूआई) के साथ बेहतर विंडोइंग अनुभव डेवलप करने में मदद मिलती है. इस फ़्रेमवर्क की मदद से, डेवलपर एक्सएमएल कॉन्फ़िगरेशन में डिक्लेरेटिव लैंग्वेज का इस्तेमाल करके, विंडोइंग स्ट्रक्चर डिज़ाइन कर सकते हैं.

  • स्केलेबल यूज़र इंटरफ़ेस (यूआई) में टास्क फ़ोकस: नियमों का एक सेट पेश करता है, ताकि यह तय किया जा सके कि मल्टी-विंडो एनवायरमेंट (जैसे, पैनल खोलना और बंद करना) में किस टास्क पर फ़ोकस किया जाए. Focus टैग में मौजूद नया onTransition एट्रिब्यूट, ज़्यादा बेहतर कंट्रोल की सुविधा देता है.

  • स्केलेबल यूज़र इंटरफ़ेस (यूआई) में अपने-आप रीस्टार्ट होने का मैकेनिज़्म: स्केलेबल यूज़र इंटरफ़ेस (यूआई) पैनल, गड़बड़ी वाले ऐप्लिकेशन को फिर से लॉन्च करके, ऐप्लिकेशन क्रैश होने की समस्या को आसानी से हैंडल करते हैं. यूज़र इंटरफ़ेस (यूआई) पैनल में, टास्क के अचानक बंद होने की समस्या को ठीक करने के लिए, टास्क के अपने-आप रीस्टार्ट होने के मैकेनिज़्म को कॉन्फ़िगर करें. इसके लिए, नया <Restart> एक्सएमएल टैग इस्तेमाल करें, ताकि रीस्टार्ट करने की नीति और फिर से कोशिश करने की ज़्यादा से ज़्यादा संख्या तय की जा सके.

  • डेकोर पैनल को खींचने और परफ़ॉर्मेंस इंस्ट्रूमेंटेशन के दौरान, परफ़ॉर्मेंस में सुधार: AAOS, इंटरैक्टिव पैनल को खींचने के ऐनिमेशन के लिए, परफ़ॉर्मेंस को बेहतर बनाता है. साथ ही, मुख्य उपयोगकर्ता के सफ़र के दौरान, गड़बड़ी को मेज़र करने के लिए, स्केलेबल यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी में इंस्ट्रूमेंटेशन जोड़ता है.

    ओईएम Perfetto ट्रेस, अतिरिक्त मेटाडेटा रिपोर्टिंग की सुविधा देते हैं. यह सुविधा, विंडोइंग और स्केलेबल यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी में होने वाली गतिविधियों के बारे में जानकारी देती है.

  • पैनल डेकोर व्यू, थीम में होने वाले बदलावों के हिसाब से अडजस्ट होते हैं और उनके मुताबिक काम करते हैं: पैनल की थीमिंग, थीम में होने वाले बदलावों के हिसाब से अडजस्ट होती है. जैसे, SysUI लेवल पर, हल्के और गहरे रंग वाले मोड के बीच स्विच करना या थीमिंग से जुड़े अन्य अपडेट.

उपयोगकर्ता के लिए डीबग करने के निर्देश और डेवलपर टूलिंग:

  • शेल कमांड, मौजूदा पैनल की स्थिति की जानकारी देते हैं और adb के ज़रिए इवेंट भेजते हैं: विज़ुअल पैनल की स्थितियों में बदलाव करने के लिए, adb कमांड का इस्तेमाल करें. जैसे, पैनल खोलना या बंद करना.

    शेल कमांड, सिस्टम पर कोई इवेंट ट्रिगर करता है. उदाहरण के लिए, ऐप्लिकेशन ग्रिड पैनल को खोलने के बाद बंद करने के लिए, adb shell cmd statusbar carsysui-dispatch-event close_app_grid चलाएं.

  • ऐक्टिविटी डंपसिस में पैनल की स्थिति शामिल होती है: ऐक्टिविटी डंपसिस में पैनल की स्थिति शामिल होती है. डंपसिस adb शेल कमांड की मदद से, पैनल की स्थितियों की जानकारी पाने के लिए, डीबग करने वाले टूल का इस्तेमाल करें.

    जब कोई विज़ुअल ऐक्शन नहीं होता, तब यह कमांड, पैनल की मौजूदा स्थितियों को दिखाता है. यह कमांड है:

    adb shell cmd statusbar carsysui-dump-panelstates
    

ओईएम लॉगिंग और डेटा ट्रैकिंग

  • कार डेटा की सदस्यता से जुड़े इवेंट के लिए लॉगिंग की सुविधा जोड़ता है: डेटा ट्रैकिंग को बेहतर बनाने के लिए, ओईएम के लिए उपयोगकर्ता की कनेक्टिविटी लॉगिंग की सुविधा उपलब्ध है.

मुख्य ऐप्लिकेशन

कार के लिए तैयार मोबाइल ऐप्लिकेशन के लिए, Compatibility Definition Document (CDD) और Compatibility Test Suite (CTS) के नियमों के मुताबिक होने की पुष्टि करने के लिए, ऑटोमोटिव एनवायरमेंट में तीसरे पक्ष के ऐप्लिकेशन की सुलभता और उनके साथ काम करने की क्षमता को बेहतर बनाया गया है. बेहतर नेविगेशन के लिए सबसे सही तरीके दिखाने के लिए, 'वापस जाएं' अफ़ोर्डेंस के लिए रेफ़रंस सैंपल उपलब्ध हैं.

  • ऐक्टिविटी ब्लॉकिंग ऐक्टिविटी (एबीए) में सुधार: लाइफ़साइकल मैनेजमेंट को बेहतर बनाने के लिए, AAOS, OnStop एबीए के व्यवहार को बेहतर बनाता है.

  • ऐप्लिकेशन रेंडरिंग के लिए सुरक्षित रेक्टैंगल: कॉन्टेंट की विज़िबिलिटी की पुष्टि करने और कॉन्टेंट के छिपने से बचने के लिए, AAOS, ऐप्लिकेशन के लिए तय की गई डिसप्ले एरिया तय करता है.

  • डीपीआई स्केलिंग: AAOS, डिसप्ले रिज़ॉल्यूशन और देखने की दूरी के हिसाब से, यूज़र इंटरफ़ेस (यूआई) एलिमेंट को ऑप्टिमाइज़ करता है.

  • हर ऐप्लिकेशन के लिए ओवरराइड: AAOS, ऐप्लिकेशन के व्यवहार को कंट्रोल करने की सुविधा देता है. जैसे, स्क्रीन की दिशा और आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात).

  • कंपैटिबिलिटी में सुधार: AAOS में, Android की मुख्य सुविधाएं शामिल हैं. जैसे, DocumentsUI. साथ ही, इसमें तीसरे पक्ष के ऐप्लिकेशन के साथ काम करने की क्षमता को बेहतर बनाया गया है.

  • ऐप्लिकेशन के लिए अन्य कंट्रोल: AAOS, उपयोगकर्ताओं को गाड़ी चलाते समय, मीडिया सेंटर के अलावा अन्य ऑडियो को कंट्रोल करने की सुविधा देता है. खास तौर पर, कम्यूनिकेशन ऐप्लिकेशन से.

वीएचएएल प्रॉपर्टी

  • प्रॉपर्टी enum @SystemApi टैग: AAOS, तीसरे पक्ष के ऐप्लिकेशन को प्रॉपर्टी enum ऐक्सेस करने की अनुमति देता है. इन enum को तीसरे पक्ष के ऐप्लिकेशन के लिए ऐक्सेस किया जा सकता है.

ऑडियो

  • फ़ेड और बैलेंस एपीआई: AAOS, पहले पक्ष के ऐप्लिकेशन को अपडेट करता है, ताकि उपयोगकर्ता की मौजूदा फ़ेड और बैलेंस सेटिंग को वापस पाया जा सके. इग्निशन साइकल के दौरान, हर उपयोगकर्ता के लिए ऑडियो लेवल सेव रहते हैं. इस अपडेट से, कार के ऑडियो एपीआई में, उपयोगकर्ता के कंट्रोल वाले अन्य ऑडियो सेटिंग के साथ समानता मिलती है.

निजता

  • Google की सेवा की शर्तों को स्वीकार करने की ज़रूरत: जब तक उपयोगकर्ता Google की सेवा की शर्तों को स्वीकार नहीं करता, तब तक ऐप्लिकेशन को बंद किया जा सकता है. बंद किए गए ऐप्लिकेशन के आइकॉन, ग्रे रंग में दिखते हैं. इससे पता चलता है कि ऐप्लिकेशन इस्तेमाल नहीं किया जा रहा है.

    बंद किए गए ऐप्लिकेशन पर टैप करने पर, उपयोगकर्ताओं को Google की सेवा की शर्तों को स्वीकार करने के लिए कहा जाता है.

    Android 25Q4 में, यह सुविधा ओईएम के उन अनुभवों के साथ काम करती है जो स्केलेबल यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके कॉन्फ़िगर किए गए बैकग्राउंड पैनल पर, Google के अनुभव को हमेशा उपलब्ध रखते हैं. उदाहरण के लिए, होम स्क्रीन के अनुभव के तौर पर सेट की गई, Google Maps की हमेशा दिखने वाली गतिविधि, तब तक ग्रे रंग में दिखती है, जब तक कोई उपयोगकर्ता Google की सेवा की शर्तों को स्वीकार नहीं करता.

अनुपालन

AAOS, Cuttlefish और इंटरनल रेफ़रंस हार्डवेयर पर, Android के नियमों के मुताबिक होने की जांच करता है. इसके लिए, GSI पर इन टेस्ट सुइट का इस्तेमाल किया जाता है: CTS, CTS-V, ATS, ATS-V, STS, VTS, और GSI पर CTS.

नीचे बताई गई समस्याओं को छोड़कर, Android 16 कोड (android16-release) या Android 16 की टेस्ट ब्रांच (android16-m1-tests-dev) में, किसी भी समस्या को ठीक करने की ज़रूरत नहीं है.

हम AOSP के आने वाले वर्शन में, नियमों के मुताबिक न होने से जुड़ी इन समस्याओं को ठीक करने की योजना बना रहे हैं.

  • CtsAppSecurityHostTestCases: RoleSecurityTest#cannotGetSmsRoleHolderForAnotherUser

  • CtsMediaHostTestCases: AudioServiceRebootHostTest#testVolumePersists_AfterReboot

  • CtsPermissionUiTestCases: PermissionTest23#testInteractiveGrant

Android 25Q4 के टेस्ट फ़ेलियर

इस सेक्शन में, 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