इस पेज पर, Support Library के सबसे नए पैकेज की रिलीज़ के बारे में जानकारी दी गई है. पिछली रिलीज़ के बारे में जानने के लिए, Support Library Revisions Archive देखें.
बदलाव 28.0.0 प्रोडक्शन
(21 सितंबर, 2018)
यह Support Library 28.0.0 की स्टेबल रिलीज़ है. इसका इस्तेमाल प्रोडक्शन में किया जा सकता है. android.support
पैकेजिंग के तहत यह आखिरी सुविधा रिलीज़ होगी. डेवलपर को AndroidX पर माइग्रेट करने का सुझाव दिया जाता है.
नई सुविधाएं
-
AnimatedStateListDrawableCompat
, ड्रॉइंग की स्थितियों के बीच ऐनिमेशन वाले ट्रांज़िशन उपलब्ध कराता है. -
VectorDrawableCompat
में ग्रेडिएंट औरColorStateList
भरने और स्ट्रोक करने की सुविधा मिलती है.
संशोधन 28.0.0 आरसी 2
(27 अगस्त, 2018)
सपोर्ट लाइब्रेरी के इस रिलीज़ कैंडिडेट को पूरी तरह से तैयार माना जाता है. साथ ही, इसका सार्वजनिक एपीआई स्टेबल है. इस रिलीज़ को फ़ाइनल स्टेबल वर्शन के तौर पर शिप किया जाएगा. हालांकि, ऐसा तब ही होगा, जब कोई गंभीर समस्या न आए. यह रिलीज़, प्रोडक्शन में इस्तेमाल करने के लिए सुरक्षित होनी चाहिए. अगर आपको कोई समस्या आती है, तो कृपया सार्वजनिक समस्या ट्रैकर में इसकी शिकायत करें.
ठीक की गई समस्याएं
- Proguard, View Model Application कंस्ट्रक्टर को हटा देता है (सार्वजनिक समस्या 112230489)
- `AnimatedStateListDrawableCompat` की स्थिति में बदलाव न होने की समस्या ठीक की गई
- mediarouter 1.0.0 से media2 की डिपेंडेंसी हटा दी गई है
- होम बटन दबाने पर, `Fragment.getViewLifecycleOwner()` बंद नहीं होता (सार्वजनिक समस्या 113070421) ([सार्वजनिक समस्या 113070421](https://issuetracker.google.com/issues/113070421))
संशोधन 28.0.0 RC 1
(6 अगस्त, 2018)
सपोर्ट लाइब्रेरी के इस रिलीज़ कैंडिडेट को पूरी तरह से तैयार माना जाता है. साथ ही, इसका सार्वजनिक एपीआई स्टेबल है. इस रिलीज़ को फ़ाइनल स्टेबल वर्शन के तौर पर शिप किया जाएगा. हालांकि, ऐसा तब ही होगा, जब कोई गंभीर समस्या न आए. यह रिलीज़, प्रोडक्शन में इस्तेमाल करने के लिए सुरक्षित होनी चाहिए. अगर आपको कोई समस्या आती है, तो कृपया सार्वजनिक समस्या ट्रैकर में इसकी शिकायत करें.
ध्यान दें: कुछ लाइब्रेरी, जैसे कि media2, अब भी ऐल्फ़ा स्टेज में हैं. ऐसा इसलिए है, क्योंकि उनके एपीआई अब तक फ़ाइनल नहीं किए गए हैं. हम प्रोडक्शन में ऐल्फ़ा लाइब्रेरी इस्तेमाल करने का सुझाव नहीं देते. लाइब्रेरी को प्रोडक्शन में, ऐल्फ़ा लाइब्रेरी पर निर्भर नहीं रहना चाहिए. ऐसा इसलिए, क्योंकि उनके एपीआई सोर्स और बाइनरी के साथ काम न करने वाले तरीकों से बदल सकते हैं.
ठीक की गई समस्याएं
- BottomNavigationView मेन्यू, डिज़ाइन सपोर्ट लाइब्रेरी में सही तरीके से शुरू नहीं किया गया है
- PositionalDataSource, डेटाबेस में पहले से मौजूद आइटम के साथ जोड़े गए आइटम को सही तरीके से हैंडल नहीं करता
- स्लाइडर ठीक से काम नहीं कर रहे हैं और रिस्पॉन्सिव नहीं हैं
- `SlicesProviderCompat.getPinnedSpecs()` यूआरआई में यूज़र आईडी नहीं जोड़ता
- RoutePlayer2: रिमोट प्लेबैक, लोकल प्लेबैक पर वापस नहीं जाता है
- कार्रवाइयों के दौरान, कैश मेमोरी में सेव किए गए स्लाइस को पार्स करने में समस्या आ रही है
- स्टैटिक स्लाइस रेंडर करते समय Google Search ऐप्लिकेशन क्रैश हो गया
- RecyclerView selection library में ConcurrentModificationException तब होता है, जब डेटा सेट में बदलाव किया जाता है और सिलेक्शन हटा दिया जाता है
- PreferenceThemeOverlay को नए मटीरियल थीम में अपडेट कर दिया गया है. अगर कोई कस्टम थीम नहीं दी गई है, तो PreferenceThemeOverlay को डिफ़ॉल्ट थीम के तौर पर इस्तेमाल किया जाता है.
- PreferenceThemeOverlay.v14 और PreferenceThemeOverlay.v14.Material थीम को अब इस्तेमाल नहीं किया जा सकता. इसके बजाय, PreferenceThemeOverlay का इस्तेमाल करें.
- PreferenceGroup की विज़िबिलिटी अब उसके चाइल्ड ग्रुप से जुड़ी है. पैरंट ग्रुप को छिपाने पर, उसके चाइल्ड ग्रुप भी क्रम में नहीं दिखेंगे. Preference.isShown() का इस्तेमाल करके यह पता लगाएं कि हैरारकी में किसी उपयोगकर्ता को Preference दिख रहा है या नहीं.
- Preference.onSetInitialValue(boolean, Object) अब काम नहीं करता. इसे onSetInitialValue(Object) से बदल दिया गया है. PreferenceDataStore अब डिफ़ॉल्ट वैल्यू को भी सही तरीके से रीस्टोर करता है.
संशोधन 28.0.0 बीटा 1
(जुलाई 2018)
Support Library की इस बीटा रिलीज़ में सभी सुविधाएं उपलब्ध हैं. साथ ही, इसका सार्वजनिक एपीआई स्टेबल है. हालांकि, इसमें कुछ गंभीर समस्याएं हो सकती हैं. इस रिलीज़ का इस्तेमाल प्रोडक्शन में सुरक्षित तरीके से किया जा सकता है. हालांकि, इसमें अब भी गड़बड़ियां हो सकती हैं. कृपया किसी भी समस्या की शिकायत सार्वजनिक समस्या ट्रैकर पर करें.
ठीक की गई समस्याएं
- GestureSelectionHelper, चुने नहीं जा सकने वाले आइटम पर खाने के इवेंट
- स्लाइडर की वैल्यू अपडेट होने पर, स्लाइडर स्लाइस में थंब आइकॉन की डुप्लीकेट कॉपी हो सकती है
- IconCompat ने TYPE_URI आइकॉन को तोड़ दिया
- सीकबार का इस्तेमाल करके प्राथमिकताएं सेट करते समय क्रैश होना
- Slice.toString() में क्रैश
- OffsettingListUpdateCallback.onMoved() में mCallback.onMoved() के बजाय mCallback.onRemoved() को कॉल किया जाता है (समस्या 110711937)
संशोधन 27.1.1
(अप्रैल 2018)
ठीक की गई समस्याएं
- AsyncListDiffer, getChangePayload को कॉल नहीं करता (AOSP की समस्या 73961809)
- फ़्रैगमेंट ViewModel के onCleared को कॉल नहीं किया गया (AOSP की समस्या 74139250)
- RecyclerView.setRecycledViewPool() में, अडैप्टर के खाली होने पर भी attachCount बढ़ जाता है
- RecyclerView में NPE की समस्या तब होती है, जब SmoothScroller.onStop, stop() या startSmoothScroller() को कॉल करता है
- फ़्रैगमेंट बदलने के लेन-देन की वजह से, नया फ़्रैगमेंट दिखने के बाद पिछला फ़्रैगमेंट फ़्लिकर करता है (AOSP की समस्या 74051124)
- 27.1.0 में, लोडर कॉलबैक में बड़ा बदलाव हुआ है (AOSP की समस्या 74135998)
- वर्टिकल ग्रिड व्यू में कॉलम की संख्या 1 से ज़्यादा होने पर, RTL लेआउट काम नहीं करता
- FragmentPagerAdapter के साथ ViewPager में onLoadFinished को कई बार कॉल किया जाता है
- AsyncListDiffer को मौजूदा सूची सेट करने के बाद अपडेट भेजने चाहिए (AOSP की समस्या 74003309)
- ShareActionProvider, 27.1.0 में ClassCastException दिखाता है
- ViewPager के साथ फ़्रैगमेंट के लाइफ़साइकल में बदलाव (AOSP की समस्या 73976255)
बदलाव 28.0.0 ऐल्फ़ा 1
(मार्च 2018)
ध्यान दें: 28.0.0-alpha1, Android P डेवलपर प्रीव्यू के साथ काम करने वाला प्री-रिलीज़ वर्शन है. इसके एपीआई में बदलाव हो सकता है. साथ ही, ज़रूरी नहीं है कि इसमें Support Library के नए स्टेबल वर्शन की सुविधाएं या गड़बड़ियां ठीक करने से जुड़े अपडेट शामिल हों.
अहम बदलाव
- हमने
Android KTX के बारे में सूचना देते समय बताया था कि हम अपनी सभी लाइब्रेरी में
androidx
पैकेज प्रीफ़िक्स का इस्तेमाल जारी रखेंगे. इस नए पैकेज में, बिलकुल नई लाइब्रेरी का कलेक्शन शामिल है. इनमेंheifwriter
औरrecyclerview-selection
शामिल हैं. हमें उम्मीद है किandroid.*
औरandroidx.*
के बीच के अंतर से, यह समझना आसान हो जाएगा कि कौनसे एपीआई प्लैटफ़ॉर्म के साथ बंडल किए गए हैं और कौनसी स्टैटिक लाइब्रेरी, ऐप्लिकेशन डेवलपर के लिए हैं. ये लाइब्रेरी, Android के अलग-अलग वर्शन पर काम करती हैं. - हमने support-core-ui, support-core-utils, और support-compat के कुछ हिस्सों को छोटी लाइब्रेरी में बांट दिया है. इस बदलाव से, हमें आने वाले समय में सहायता लाइब्रेरी की डिपेंडेंसी को अलग करने में मदद मिलेगी. अब हमारे पास ये नई लाइब्रेरी हैं:
- asynclayoutinflater (from support-core-ui)
- संग्रह (support-compat से)
- coordinatorlayout (from design)
- cursoradapter (from support-core-ui)
- customview (from support-core-ui)
- documentfile (from support-core-utils)
- drawerlayout (from support-core-ui)
- interpolator (from support-core-ui)
- लोडर (support-fragments और core-utils से)
- localbroadcastmanager (support-core-utils से)
- print (from support-core-utils)
- slidingpanelayout (support-core-ui से)
- swiperefreshlayout (support-core-ui से)
- viewpager (from support-core-ui)
नए एपीआई
recyclerview-selection
RecyclerView
के लिए, आइटम चुनने की सुविधा उपलब्ध कराता है. इस पैकेज में ये सुविधाएं मिलती हैं:- RecyclerView लिस्ट में चुने गए आइटम के सेट में बदलाव करने, उनकी जांच करने, और उन पर नज़र रखने की सुविधा.
- एक साथ कई आइटम चुनने की सुविधा:
- टच करके चुनने की सुविधा की मदद से, उपयोगकर्ता आइटम की रेंज चुन सकते हैं. इसके लिए, उन्हें सहज तरीके से दबाकर रखने और खींचने वाले जेस्चर का इस्तेमाल करना होगा.
- माउस से बैंड चुनने की सुविधा की मदद से, उपयोगकर्ता माउस पॉइंटर बैंड/लासो की पारंपरिक कार्रवाइयों का इस्तेमाल करके, RecyclerView सूची में आइटम का कोई ब्लॉक चुन सकते हैं.
- टच-स्क्रीन वाले डिवाइसों के साथ-साथ, पॉइंटर वाले डिवाइसों के लिए भी सहायता उपलब्ध है. टच-स्क्रीन वाले डिवाइसों में, फ़ोन और टच-स्क्रीन वाले लैपटॉप शामिल हैं.
- HEIF Writer, HEIF फ़ॉर्मैट में इमेज सेव करने की सुविधा देता है.
- डिज़ाइन लाइब्रेरी
- हमने ऐप्लिकेशन के लिए एक नई थीम,
Theme.MaterialComponents
लॉन्च की है. इसमें नए एट्रिब्यूट और कॉम्पोनेंट के लिए अपडेट किए गए स्टाइल शामिल हैं. - हमने ये कॉम्पोनेंट जोड़े हैं:
- BottomAppBar
- चिप
- ChipGroup
- MaterialButton
- MaterialCardView
- हमने ऐप्लिकेशन के लिए एक नई थीम,
- स्लाइस, ऐप्लिकेशन के लिए एक फ़्रेमवर्क उपलब्ध कराता है. इसकी मदद से, ऐप्लिकेशन दूसरे ऐप्लिकेशन से टेंप्लेट वाला कॉन्टेंट एम्बेड कर सकते हैं.
- slices-builders में, टेंप्लेट फ़ॉर्मैट में कॉन्टेंट बनाने के तरीके शामिल होते हैं.
- slices-view में, उस कॉन्टेंट को दिखाने के तरीके शामिल होते हैं.
- ब्राउज़र से जुड़ी कार्रवाइयां, ऐप्लिकेशन डेवलपर को यूआरएल के लिए एक जैसी (लेकिन पसंद के मुताबिक बनाई जा सकने वाली) कॉन्टेक्स्ट मेन्यू लॉन्च करने का प्रोटोकॉल उपलब्ध कराती हैं. यह सुविधा, ब्राउज़र ऐप्लिकेशन (जैसे कि Chrome, जहां यह सुविधा अब भी डेवलपमेंट के चरण में है) की मौजूदगी पर निर्भर करती है. यह ब्राउज़र ऐप्लिकेशन, ब्राउज़र से जुड़ी कार्रवाइयों के लिए सहायता उपलब्ध कराता है.
-
ContextCompat.getSystemService()
औरgetSystemServiceName()
से, सभी एपीआई लेवल पर टाइप के हिसाब से सिस्टम सेवा के लुकअप की अनुमति मिलती है.
गड़बड़ियां ठीक की गईं
- Fragment ViewModel के onCleared को कॉल नहीं किया गया (AOSP की समस्या 74139250)
- FragmentPagerAdapter के साथ ViewPager में onLoadFinished() को कई बार कॉल किया गया (AOSP की समस्या 74182171)
- RecyclerView के LinearLayoutManager के smoothScrollToPosition() में कुछ मामलों में, स्क्रोलिंग ठीक से काम नहीं करती है. (AOSP की समस्या 71567765)
वर्शन 27.1.0 की रिलीज़
(फ़रवरी 2018)
अहम बदलाव
- Loaders को लागू करने के तरीके को फिर से लिखा गया है, ताकि Lifecycle का इस्तेमाल किया जा सके. एपीआई में कोई बदलाव नहीं किया गया है. हालांकि, इसके व्यवहार में कई बदलाव किए गए हैं:
initLoader()
,restartLoader()
, औरdestroyLoader()
को अब सिर्फ़ मुख्य थ्रेड पर कॉल किया जा सकता है.- Loader के
onStartLoading()
औरonStopLoading()
को अब तब कॉल किया जाता है, जब FragmentActivity/Fragment को शुरू और बंद किया जाता है. onLoadFinished()
को सिर्फ़onStart()
औरonStop
के बीच कॉल किया जाएगा. इस वजह से, अब फ़्रैगमेंट लेन-देन कोonLoadFinished()
में सुरक्षित तरीके से किया जा सकता है.- लोडर से जुड़ी FragmentController के तरीकों को अब बंद कर दिया गया है.
- DialogFragment का
getDialog()
अबonDestroyView()
तक गैर-शून्य रहेगा. यहdismiss()
में शून्य नहीं होगा. अब यह पता लगाया जा सकता है किonStop()
में डायलॉग को मैन्युअल तरीके से खारिज किया गया था या नहीं. इसके लिए, यह जांच करें किgetDialog().isShowing()
फ़ॉल्स दिखाता है या नहीं.
नए एपीआई
ListAdapter
औरAsyncListDiffer
की मदद से,RecyclerView
के लिए बैकग्राउंड थ्रेड पर लिस्ट के अंतर का हिसाब लगाना आसान हो जाता है. इनसे, RecyclerView को कॉन्टेंट में होने वाले बदलावों को अपने-आप ऐनिमेट करने में मदद मिलती है. साथ ही, यूज़र इंटरफ़ेस (यूआई) थ्रेड पर कम काम करना पड़ता है. येDiffUtil
का इस्तेमाल करते हैं.SortedList.ReplaceAll
की मदद से, SortedList में मौजूद सभी डेटा को अपडेट किया जा सकता है. यह डेटा डालने, हटाने, बदलने, और एक जगह से दूसरी जगह ले जाने (एक जगह से दूसरी जगह ले जाने को हटाने और डालने के तौर पर माना जाता है) के लिए, सभी ज़रूरी ऐनिमेशन चलाता है.- FragmentActivity और Fragment अब
ViewModelStoreOwner
लागू करते हैं. साथ ही, अब इनका इस्तेमालViewModelProvider
कंस्ट्रक्टर के साथ किया जा सकता है. यहViewModelProviders.of()
के इस्तेमाल का विकल्प है - फ़्रैगमेंट में अब
requireContext()
,requireActivity()
,requireHost()
, औरrequireFragmentManager()
तरीके उपलब्ध हैं. ये तरीके, get तरीकों के बराबर काNonNull
ऑब्जेक्ट दिखाते हैं याIllegalStateException
दिखाते हैं. requireViewById()
,findViewById()
के साथ काम करने वाले@NonNull
वर्शन कोWindowCompat
,ActivityCompat
, औरViewCompat
में जोड़ दिया गया है. अगर टारगेट नहीं मिलता है, तो येIllegalArgumentException
दिखाते हैं.LoaderCallbacks
तरीकों में अब सही@Nullable
और@NonNull
एनोटेशन मौजूद हैं.FileProvider
अब एपीआई 21 और इसके बाद के वर्शन वाले डिवाइसों पर,getExternalMediaDirs()
का इस्तेमाल किया जा सकता है. इसके लिए, नए<external-media-path>
एलिमेंट का इस्तेमाल करें.
गड़बड़ियां ठीक की गईं
- onCreate में Loader को शुरू करने वाले फ़्रैगमेंट का लाइफ़साइकल, ViewPager के अंदर टूट गया है
- LoaderManager, onLoadFinished में IllegalStateException दिखाता है
- LoaderViewModel, onCleared में अपने Loaders को साफ़ नहीं करता
- android.arch.lifecycle.ViewModelStoreOwner के लिए क्लास फ़ाइल नहीं मिली
- dismiss() को कॉल करने के तुरंत बाद, DialogFragment onDismiss को कॉल नहीं किया जाता
- डाउनलोड किए जा सकने वाले फ़ॉन्ट का इस्तेमाल करते समय, रिलीज़ किए गए डिवाइसों पर देश के झंडे वाले इमोजी काम नहीं करते
- Preferences लाइब्रेरी ऐसे एट्रिब्यूट का इस्तेमाल करती है जो Android के पुराने वर्शन पर काम नहीं करेंगे
- MediaCompat के testlib आर्टफ़ैक्ट टाइप के बारे में गलत जानकारी दी गई है (AOSP की समस्या 71559905)
- Google Sans crash in TypefaceCompatUtil
- ArraySet कंस्ट्रक्टर को ऐक्सेस करने की अनुमति दें, जो कलेक्शन में लेता है.
- updateApi, उन .ignore फ़ाइलों को हटा देता है जिन्हें सेव करके रखना चाहिए
- BrowseFragment में बनाए गए गैर-ज़रूरी MainFragment
- CarRecyclerView से रिफ़्लेक्शन का इस्तेमाल हटाना
- java.lang.IllegalStateException at FragmentManagerImpl.checkStateLoss
- android.support.v4.content.PermissionChecker.checkSelfPermission का इस्तेमाल करते समय, java.lang.SecurityException मिला (undocumented)
- RecyclerView में IndexOutOfBoundsException की समस्या आ रही है, क्योंकि setAdapter में State.mPreviousLayoutItemCount को मिटाया नहीं गया है (AOSP की समस्या 37657125)
- onCreate में Loader को शुरू करने वाले फ़्रैगमेंट में, ViewPager के अंदर लाइफ़साइकल टूट गया है (AOSP की समस्या 34831613)
- FragmentManagerImpl.execSingleAction क्रैश होता है
वर्शन 27.0.2 रिलीज़ किया गया
(नवंबर 2017)
गड़बड़ियां ठीक की गईं
-
EmojiEditTextHelper
थ्रो करता हैNullPointerException
. -
IllegalStateException
: फ़्रैगमेंट को अब तक अटैच नहीं किया गया है. - स्क्रीन पर कहीं भी टैप करके, 'कास्ट करें' आइकॉन वाले पॉप-अप को खारिज नहीं किया जा सकता.
-
MediaMetadataCompat
थ्रो करता हैBadParcelableException
.
27.0.1 वर्शन रिलीज़ किया गया
(नवंबर 2017)
गड़बड़ियां ठीक की गईं
-
startActivityForResult()
को कॉल करने के बाद, LifecycleRegistry गलत स्थिति में है. (समस्या 65665621) - पुराने एपीआई लेवल पर, बंद किए गए बटन का रंग बहुत हल्का है.
- स्क्रोल करने के बाद, उपयोगकर्ता
RecyclerView
में मौजूद किसी आइटम पर क्लिक नहीं कर सकता. (AOSP की समस्या 66996774) - Talkback में, ज़्यादा विकल्पों पर क्लिक करने से सिस्टम, नए पॉप-अप की सूचना नहीं देता है. साथ ही, नए विकल्पों पर फ़ोकस भी नहीं करता है.
वर्शन 27.0.0 रिलीज़ किया गया
(अक्टूबर 2017)
एपीआई में अंतर
एपीआई में हुए बदलाव
- कई एपीआई में, नल वैल्यू की अनुमति देने वाले एनोटेशन जोड़े गए हैं. इनमें ये शामिल हैं: इससे Kotlin कंपाइल करने के दौरान गड़बड़ियां हो सकती हैं. ऐसा तब होता है, जब नल वैल्यू स्वीकार करने वाले रिटर्न टाइप को ठीक से हैंडल नहीं किया जाता.
-
Fragment
, फ़्रैगमेंट ट्रांज़िशन के लिएTransition
के सपोर्ट लाइब्रेरी वर्शन का इस्तेमाल कर सकता है. इसमें शेयर किए गए एलिमेंट के ट्रांज़िशन भी शामिल हैं. - कॉन्टेंट पेजिंग लाइब्रेरी (
android.support.content.ContentPager
),ContentProvider
के ज़रिए दिखाए गए कॉन्टेंट को पेजिंग करने की सुविधा देती है. इस लाइब्रेरी का इस्तेमाल करने से, क्लाइंट को यूज़र इंटरफ़ेस (यूआई) थ्रेड पर महंगे इंटरप्रोसेस "कर्सर विंडो स्वैप" से बचने में मदद मिलती है. साथ ही, यह Android 8.0 की सुविधा के लिए कंपैटिबिलिटी लाइब्रेरी उपलब्ध कराती है. -
ViewCompat
अब ऑटोमैटिक भरने की सुविधा के तरीकों के लिए रैपर जोड़ता है. इनमेंgetImportantForAutofill()
,isImportantForAutofill()
,setAutofillHints()
, औरsetImportantForAutofill()
शामिल हैं. -
Leanback को नई सुविधाओं के साथ बेहतर बनाया गया है. साथ ही, इसमें कुछ ऐसी क्लास हटा दी गई हैं जिनका इस्तेमाल अब नहीं किया जाता. जैसे:
-
Picker
अबsetSeparators()
तरीके का इस्तेमाल करके, हर कॉलम के बीच अलग-अलग सेपरेटर का इस्तेमाल कर सकता है. -
DiffCallback
को जोड़ा गया है, ताकिArrayObjectAdapter
,DiffUtil
से मिले आउटपुट का फ़ायदा ले सके. - मीडिया प्लेयर के लिए इन्फ़्रास्ट्रक्चर जोड़ा गया है, ताकि अलग-अलग कंट्रोल इस्तेमाल किए जा सकें. जैसे, तेज़ गति से आगे बढ़ाना, दोहराना, शफ़ल करना, अगला, पिछला, और पीछे ले जाना.
MediaControllerGlue
, PlaybackControlGlue,PlaybackControlSupportGlue
, औरPlaybackOverlayFragment
को हटाया गया.
-
- जांच के लिए, PollingCheck यूटिलिटी को AOSP CTS से पोर्ट किया गया है. यह टाइमआउट विंडो में किसी शर्त के पूरा होने के लिए पोल करता है.
- Android 5.0 के लिए, इंस्टैंट ऐप्लिकेशन पर रनटाइम की अनुमतियों को सपोर्ट करने के लिए इन्फ़्रास्ट्रक्चर जोड़ा गया. इसके लिए,
PermissionCompatDelegate
का इस्तेमाल किया गया. - अब भरोसेमंद कस्टम टैब इस्तेमाल किए जा सकते हैं. साथ ही, किसी ऐप्लिकेशन और ऑरिजिन यूआरआई के बीच संबंध तय किया जा सकता है.
- Android Wear में ऐंबियंट मोड की सुविधा को आसान बनाने के लिए, AmbientMode हेडलेस फ़्रैगमेंट का इस्तेमाल किया जाता है. इससे ऐंबियंट मोड को आर्किटेक्चर कॉम्पोनेंट के साथ इस्तेमाल करना भी आसान हो जाता है.
- Wear की टीम, इस अहम बदलाव के बारे में डेवलपर से सुझाव/राय मांगती है. ज़्यादा जानकारी के लिए, Android Wear के रिलीज़ नोट देखें.
- कुछ पुरानी क्लास हटा दी गई हैं, क्योंकि हम V14 से पहले के एपीआई का इस्तेमाल नहीं कर रहे हैं. जैसे,
android.support.v7.NotificationCompat
(इसके बजाय v4NotificationCompat
का इस्तेमाल करें),KeyEventCompat
,ParallelExecutorCompat
, औरSearchViewCompat
. - माइग्रेट किए गए Wear के मेनिफ़ेस्ट मेटाडेटा कॉन्स्टेंट, अब
android.support.wear.utils.MetadataConstants
के ज़रिए उपलब्ध हैं. - हमेशा चालू स्क्रीन मोड की सुविधा अब सभी गतिविधियों के लिए उपलब्ध है. यह सुविधा सिर्फ़ WearableActivity के लिए उपलब्ध नहीं है. ज़्यादा जानकारी के लिए,
AmbientMode
रेफ़रंस देखें. -
RoundedDrawable
अब एक्सएमएल फ़ॉर्मैट में मौजूद डेटा के आधार पर, कीमत में बढ़ोतरी की जानकारी देने की सुविधा के साथ काम करता है.
गड़बड़ियां ठीक की गईं
- Support Library 27 और डाउनलोड किए जा सकने वाले फ़ॉन्ट का इस्तेमाल करने पर ऐप्लिकेशन क्रैश हो जाता है
- एसडीके अपडेट करने के बाद बनाए गए नए प्रोजेक्ट के लिए, डाउनलोड किए जा सकने वाले फ़ॉन्ट काम नहीं कर रहे हैं
- SpeechRecognizer API, हाल ही के अपग्रेड में काम नहीं कर रहा है
- ऐनिमेटेड व्यू हटाने के बाद, ड्रॉइंग के दौरान फ़्रैगमेंट से जुड़ा क्रैश
- support-leanback-demos मीडिया चलाने की सभी सुविधाएं काम नहीं कर रही हैं
- Android Support Library, मेनिफ़ेस्ट में <meta-data> जोड़ रही है
- FontResourcesParserCompat को android: attrs के बारे में पता होना चाहिए
- Leanback Glue, Pause इनपुट कुंजी के साथ काम नहीं करता
- जब कई पैकेज एक ही आर्टफ़ैक्ट आईडी शेयर करते हैं, तब आईडीई में सिंबल हल नहीं होता.
- CarExtender में NullPointerException
- MediaController बनाने के बाद, PlaybackState में शफ़ल / दोहराने का गलत मोड सेट किया गया है
- नेविगेट करते समय, लाइब्रेरी क्लस्टर के डिफ़ॉल्ट पोस्टर अगले क्लस्टर पर दिख रहे हैं
- सुझाव वाले कार्ड का मेटाडेटा कट गया है
- RecyclerView.attachViewToParent() पर IllegalArgumentException
- SavedState को अनमार्शल करते समय ClassNotFoundException (AOSP की समस्या 37133281)
- RecyclerView में फ़ोकस अटक जाता है
- Leanback LayoutManager में एएनआर की समस्या ठीक की गई
बदलाव 26.1.0 की रिलीज़
(सितंबर 2017)
यह एक खास रिलीज़ है. इसका मकसद, Support Library को Architecture Components से Lifecycles के साथ इंटिग्रेट करना है. अगर Lifecycles लाइब्रेरी का इस्तेमाल नहीं किया जा रहा है, तो आपको 26.0.2 से अपडेट करने की ज़रूरत नहीं है. ज़्यादा जानकारी के लिए, आर्किटेक्चर कॉम्पोनेंट के रिलीज़ नोट देखें.
अहम बदलाव
Fragment
औरFragmentActivity
(AppCompatActivity
के लिए बेस क्लास) अब Architecture Components सेLifecycleOwner
इंटरफ़ेस लागू करते हैं.
बदलाव 26.0.2 की रिलीज़
(अगस्त 2017)
गड़बड़ियां ठीक की गईं
- Support Library 26.0.0 पर मेन्यू आइकॉन फ़्लैट किए गए हैं
GuidedAction.multilineDescription
Leanback के साथ ठीक से काम नहीं करता
बदलाव 26.0.1 रिलीज़
(अगस्त 2017)
गड़बड़ियां ठीक की गईं
- O-MR1 डिवाइसों पर FontCompat 26.0.0 क्रैश हो जाता है
- 26.0.0 Design Support Library में multidex support शामिल नहीं होना चाहिए (समस्या 63999442))
- AppBarLayout में अब 300 पिक्सल का बायां पैडिंग है, क्योंकि 26.0.0
- PlaybackTransportControl नेविगेशन काम नहीं कर रहा है
- Fragment.onCreateView को onCreate के पूरा होने से पहले कॉल किया जाता है
- android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v4.media.MediaMetadataCompat
बदलाव 26.0.0 रिलीज़ किया गया
(जुलाई 2017)
अहम जानकारी: अब सहायता लाइब्रेरी, Google की Maven रिपॉज़िटरी के ज़रिए उपलब्ध हैं. आपको SDK Manager से support रिपॉज़िटरी डाउनलोड करने की ज़रूरत नहीं है. ज़्यादा जानकारी के लिए, सहायता लाइब्रेरी सेट अप करना लेख पढ़ें.
अहम बदलाव
- एसडीके के कम से कम वर्शन को 14 पर बढ़ा दिया गया है. इस वजह से, कई ऐसे एपीआई बंद कर दिए गए हैं जो सिर्फ़ 14 से पहले के एपीआई लेवल के साथ काम करते थे. इन एपीआई के क्लाइंट को, अपने फ़्रेमवर्क के बराबर वाले एपीआई पर माइग्रेट करना चाहिए. इसके बारे में, हर बंद किए गए एपीआई के रेफ़रंस पेज पर बताया गया है.
- Wear की यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी में ऐसी क्लास होती हैं जिनकी मदद से, Wear डिवाइसों पर काम करने वाले पैटर्न और लेआउट लागू किए जा सकते हैं. ज़्यादा जानकारी के लिए, Wear UI Library का इस्तेमाल करना लेख पढ़ें.
- प्रतिशत सहायता मॉड्यूल अब काम नहीं करता. इस मॉड्यूल के क्लाइंट को नए
ConstraintLayout
विजेट पर माइग्रेट करना चाहिए. यह विजेट, SDK Manager में अलग आर्टफ़ैक्ट के तौर पर उपलब्ध है. android.support.v7.app.NotificationCompat
और इसमें शामिल क्लास को बंद कर दिया गया है. आने वाले समय में इसे हटा दिया जाएगा:v7.app.NotificationCompat.Builder
के बजाय,NotificationCompat.Builder
का इस्तेमाल करें. पहले, v7 AppCompat Builder का इस्तेमाल करके काम करने वाली सुविधा अब v4 Compat Builder में शामिल कर दी गई है.-
DecoratedCustomViewStyle
कोandroid.support.v4.app
पैकेज में ले जाया गया है. -
MediaStyle
औरDecoratedMediaCustomViewStyle
अब media-compat library का हिस्सा हैं. इन्हें android.support.v4.media.app पैकेज में देखा जा सकता है.
नए एपीआई
RecyclerView
के लिए नयाfastScrollEnabled
बूलियन फ़्लैग. अगर यह सुविधा चालू है, तोfastScrollHorizontalThumbDrawable
,fastScrollHorizontalTrackDrawable
,fastScrollVerticalThumbDrawable
, औरfastScrollVerticalTrackDrawable
को सेट करना ज़रूरी है.
एपीआई में अंतर
गड़बड़ियां ठीक की गईं
- RecyclerView.toString() में इनफ़ाइनाइट लूप
- Canary 6 पर अपग्रेड करने के बाद, API 16 AVD पर Kotlin प्रोजेक्ट चलाने पर ResourceNotFoundException
- support library 26.0.0-beta2 के साथ डिज़ाइन व्यू में java.lang.AssertionError
- Android Studio में, Support Library के विजेट के लिए लेआउट की झलक नहीं दिख रही है
- अगर Preference को एट्रिब्यूट के साथ नहीं बनाया गया है, तो Preference.setSingleLineTitle() को अनदेखा कर दिया जाता है
- Support Library के 25.3.0 / 25.4.0 वर्शन के लिए, DAC "Since" एनोटेशन गलत हैं
- ResourcesCompat.getFont() से अपवाद मिलता है
- टूलबार का टाइटल बोल्ड फ़ॉन्ट में नहीं है
- maxLines के साथ ऑटो साइज़िंग की सुविधा इस्तेमाल करने पर, अनचाहे नतीजे मिलते हैं
- TextView.checkForRelayout() में NullPointerException
- AppCompatTextViewAutoSizeHelper.setRawTextSize() लेआउट के दौरान requestLayout() को कॉल करता है
- EmojiAppCompatTextView क्रैश हो जाता है
- टेक्स्ट बदलने पर, TextView का साइज़ अपने-आप अडजस्ट नहीं होता
- Instacart में स्क्रीन खराब होना
- MenuItemCompat में UnsupportedOperationException
- NotificationCompat, एपीआई 24 या उसके बाद के वर्शन पर कार्रवाइयों को पूरी तरह से नहीं निकालता
- लेआउट अपडेट होने पर, CoordinatorLayout में ऐंकरिंग से जुड़ी समस्याएं