Android Automotive 25Q4

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

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

सुविधाएं

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

Framework

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

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

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

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

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

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

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

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

AAOS, वाहन के हिसाब से विंडो बनाने की सुविधा जोड़ता है. इससे ओईएम को सुरक्षित, अनुपालन करने वाले, और किफ़ायती तरीके से [स्केलेबल यूज़र इंटरफ़ेस के साथ विंडो बनाने की बेहतर सुविधाएं][2] डेवलप करने में मदद मिलती है. इस फ़्रेमवर्क की मदद से डेवलपर, एक्सएमएल कॉन्फ़िगरेशन में डिक्लेरेटिव लैंग्वेज का इस्तेमाल करके, विंडोइंग स्ट्रक्चर डिज़ाइन कर सकते हैं.

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

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

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

    OEM Perfetto ट्रेस, विंडोइंग और Scalable UI लाइब्रेरी में हो रही गतिविधियों के बारे में अतिरिक्त मेटाडेटा रिपोर्टिंग उपलब्ध कराते हैं.

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

उपयोगकर्ता की डीबगिंग से जुड़ी कमांड और डेवलपर टूलिंग:

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

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

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

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

    adb shell cmd statusbar carsysui-dump-panelstates
    

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

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

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

Car Ready Mobile Apps (CaRMA) के लिए, CDD और CTS के मानकों का पालन करने की पुष्टि करने में मदद करने के लिए, हम ऑटोमोटिव एनवायरमेंट में तीसरे पक्ष के ऐप्लिकेशन के साथ काम करने की सुविधा और इस्तेमाल करने में आसानी को बेहतर बनाते हैं. आसानी से नेविगेट करने के सबसे सही तरीके दिखाने के लिए, हम वापस जाने की सुविधा के लिए रेफ़रंस सैंपल जोड़ते हैं.

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

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

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

  • हर ऐप्लिकेशन के लिए अलग-अलग सेटिंग: AAOS की मदद से, ऐप्लिकेशन के व्यवहार को कंट्रोल किया जा सकता है. जैसे, ओरिएंटेशन और आसपेक्ट रेशियो.

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

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

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

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

ऑडियो

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

निजता

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

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

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

अनुपालन

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

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

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

  • 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

[1]: https://cs.android.com/android/platform/superproject/+/ub-automotive-master-20250910:packages/apps/Car/tests/RotaryPlayground/src/com/android/car/rotaryplayground/ViewComposeActivity.kt [2]: /docs/automotive/scalableui/implement