परिशिष्ट सी, कार यूआई प्लगइन एपीआई के लिए न्यूनतम संगत संस्करण

ओईएम से जल्द से जल्द car-ui-lib-plugin-apis (1.2.0 या उच्चतर) के नवीनतम संस्करण पर स्विच करने की उम्मीद की जाती है। आदर्श रूप से, ओईएम को ऐसा कोई प्लग इन नहीं भेजना चाहिए जो पुराने संस्करण का उपयोग करता हो।

यह अपडेट क्यों?

जावा 8+ एपीआई जावा 8+ एपीआई डिसुगरिंग समर्थन के माध्यम से एंड्रॉइड के पिछले संस्करणों के लिए समर्थित हैं। लापता एपीआई के कार्यान्वयन को ऐप में संकलित किया जाता है और एपीके के बाइट कोड को प्लेटफॉर्म पर पुस्तकालयों के बजाय कार्यान्वयन को संदर्भित करने के लिए फिर से लिखा जाता है।

कार यूआई लाइब्रेरी प्लगइन से यूआई घटकों के ओईएम कार्यान्वयन को लोड करने के लिए car-ui-lib-plugin-apis इंटरफेस द्वारा परिभाषित विधियों के संदर्भ की आवश्यकता होती है। ये विधि संदर्भ ऐप से कार यूआई लाइब्रेरी प्लगइन्स में रनटाइम पर इस उम्मीद के साथ किए जाते हैं कि ऐप और प्लगइन कार्यान्वयन में विधि हस्ताक्षर समान हैं।

कुछ बिल्ड सिस्टम एक विशिष्ट न्यूनतम एसडीके स्तर की आवश्यकताओं के कारण हर समय एपीआई डिसुगरिंग को सक्षम करते हैं। car-ui-lib-plugin-apis इंटरफेस के लिए डिसुगर्ड मेथड सिग्नेचर उन ओईएम प्लगइन कार्यान्वयन से मेल नहीं खा सकते हैं जो डिसुगर नहीं किए गए हैं, जिसके परिणामस्वरूप प्लगइन्स लोड होने में विफल हो जाते हैं।

परिणामस्वरूप, आंतरिक Google बिल्ड सिस्टम के साथ संकलित कुछ GAS ऐप्स कार UI लाइब्रेरी प्लगइन के साथ असंगत हैं। इसलिए, हमने जावा 8 (और उच्चतर) एपीआई पर सभी निर्भरताएं हटा दी हैं, जिन्हें डिसुगरिंग की आवश्यकता होती है। इस परिवर्तन के लिए car-ui-lib-plugin-apis द्वारा परिभाषित इंटरफेस के API में अपडेट की आवश्यकता है।

OEM प्लगइन्स के लिए आवश्यक कदम

नीचे दिए गए चरण बताते हैं कि अपने एपीआई को कैसे अपडेट करें।

  1. car-ui-lib-plugin-apis के नवीनतम संस्करण का उपयोग करने के लिए प्लगइन कार्यान्वयन को अपडेट करें। (1.2.0 या उच्चतर) का नवीनतम संस्करण प्राप्त करने के लिए, Google का मावेन रिपोजिटरी देखें।

  2. PluginFactoryOEMV4 इंटरफ़ेस को लागू करने के लिए प्लगइन कार्यान्वयन को अपडेट करें। जब कोई घटक OEM प्लगइन द्वारा कार्यान्वित किया जाता है तो इस परिवर्तन के लिए निम्न चरणों की आवश्यकता होती है। इसके ओईएम कार्यान्वयन को अपडेट करें:

    1. टूलबार, ToolbarControllerOEMV2 को लागू करने के लिए।

    2. सामग्री सूची आइटम, ContentListItemOEMV2 का विस्तार करने के लिए।

    3. ImeSearchInterfaceOEMV2 का विस्तार करने के लिए IME खोज परिणाम सौंपे जा रहे हैं।

  3. कार UI लाइब्रेरी के नवीनतम संस्करण का उपयोग करने के लिए ऐप को अपडेट करें।

यदि यह अद्यतन लागू नहीं किया जाता है तो क्या होगा?

यदि ओईएम प्लग इन के लिए ऊपर दिए गए चरण पूरे नहीं होते हैं, तो डिसुगर्ड ऐप्स, जैसे कि Google ऑटोमोटिव सर्विसेज (जीएएस), कार यूआई लाइब्रेरी प्लगइन के कार्यान्वयन को लोड करने में विफल होते हैं और प्लगइन तंत्र के माध्यम से कोई ओईएम अनुकूलन लागू नहीं होते हैं।

कार UI लाइब्रेरी के लिए मौजूदा RRO अनुकूलन इस समस्या से प्रभावित नहीं होते हैं और हमेशा की तरह प्रदर्शन करना जारी रखते हैं।