ओईएम से उम्मीद की जाती है कि वे car-ui-lib-plugin-apis (1.2.0 या इसके बाद के वर्शन) के नए वर्शन पर जल्द से जल्द स्विच करें. हमारी सलाह है कि ओईएम, पुराने वर्शन का इस्तेमाल करने वाला कोई भी प्लग इन शिप न करें.
यह अपडेट क्यों ज़रूरी है?
Java 8+ API, Java 8+ API के डिसुगरिंग की सुविधा की मदद से, Android के पुराने वर्शन के लिए भी काम करते हैं. जिन एपीआई को लागू नहीं किया गया है उन्हें ऐप्लिकेशन में कंपाइल किया जाता है. साथ ही, एपीके के बाइट कोड को फिर से लिखा जाता है, ताकि वे प्लैटफ़ॉर्म पर मौजूद लाइब्रेरी के बजाय, लागू किए गए एपीआई को रेफ़र करें.
कार की यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी के प्लग इन से, यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट के ओईएम के लागू किए गए वर्शन को लोड करने के लिए, car-ui-lib-plugin-apis इंटरफ़ेस से तय किए गए तरीकों को रेफ़र करना ज़रूरी है. इन तरीकों के रेफ़रंस, रनटाइम के दौरान ऐप्लिकेशन से कार की यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी के प्लग इन में बनाए जाते हैं. ऐसा इसलिए किया जाता है, ताकि ऐप्लिकेशन और प्लग इन के लागू किए गए वर्शन में, तरीकों के सिग्नेचर एक जैसे हों.
कुछ बिल्ड सिस्टम, खास तौर पर कम से कम एसडीके लेवल की ज़रूरी शर्तों की वजह से, एपीआई डिसुगरिंग की सुविधा को हमेशा चालू रखते हैं. car-ui-lib-plugin-apis इंटरफ़ेस के लिए, डिसुगर किए गए तरीकों के सिग्नेचर, ओईएम के प्लग इन के लागू किए गए ऐसे वर्शन से मेल नहीं खा सकते जिन्हें डिसुगर नहीं किया गया है. इस वजह से, प्लग इन लोड नहीं हो पाते हैं.
नतीजतन, Google के इंटरनल बिल्ड सिस्टम से कंपाइल किए गए कुछ GAS ऐप्लिकेशन, कार की यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी के प्लग इन के साथ काम नहीं करते. इसलिए, हमने Java 8 (और इसके बाद के वर्शन) के उन सभी एपीआई पर मौजूद डिपेंडेंसी हटा दी हैं जिनके लिए डिसुगरिंग की ज़रूरत होती है. इस बदलाव के लिए, car-ui-lib-plugin-apis से तय किए गए इंटरफ़ेस के एपीआई को अपडेट करना ज़रूरी है.
ओईएम प्लग इन के लिए ज़रूरी चरण
अपने एपीआई को अपडेट करने के लिए, यह तरीका अपनाएं:
car-ui-lib-plugin-apisके नए वर्शन का इस्तेमाल करने के लिए, प्लग इन के लागू किए गए वर्शन को अपडेट करें. इसका नया वर्शन (1.2.0 या इसके बाद का वर्शन) पाने के लिए, Google की मेवन रिपॉज़िटरी देखें.PluginFactoryOEMV4इंटरफ़ेस को लागू करने के लिए, प्लग इन के लागू किए गए वर्शन को अपडेट करें. ओईएम प्लग इन से किसी कॉम्पोनेंट को लागू करने पर, यह बदलाव करने के लिए आपको यह तरीका अपनाना होगा. के ओईएम के लागू किए गए वर्शन को अपडेट करें:ToolbarControllerOEMV2को लागू करने के लिए, टूलबार.ContentListItemOEMV2को बढ़ाने के लिए, कॉन्टेंट की सूची में मौजूद आइटम.ImeSearchInterfaceOEMV2को बढ़ाने के लिए, IME के खोज के नतीजों को मैनेज करने की सुविधा.
कार की यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी के नए वर्शन का इस्तेमाल करने के लिए, ऐप्लिकेशन को अपडेट करें.
यह अपडेट लागू न करने पर क्या होगा?
अगर ओईएम प्लग इन के लिए, इस पेज पर दिया गया तरीका पूरा नहीं किया जाता है, तो डिशुगर किए गए ऐप्लिकेशन, जैसे कि Google की वाहन संबंधित सेवाएं (GAS), कार की यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी के प्लग इन के लागू किए गए वर्शन को लोड नहीं कर पाते. साथ ही, प्लग इन के मैकेनिज़्म के ज़रिए, ओईएम के किए गए बदलाव लागू नहीं होते.
कार की यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी के लिए, RRO के मौजूदा बदलावों पर इस समस्या का कोई असर नहीं पड़ता. साथ ही, वे पहले की तरह काम करते रहते हैं.