النسخة الحديثة من "مكتبة الدعم"

تقدّم هذه الصفحة تفاصيل حول أحدث إصدارات حزمة الدعم. وبالنسبة إلى الإصدارات السابقة، يُرجى الاطّلاع على أرشيف مراجعات "مكتبة الدعم".

مراجعة إصدار 28.0.0

(21 أيلول (سبتمبر) 2018)

هذا هو الإصدار الثابت من مكتبة الدعم 28.0.0 وهو مناسب للاستخدام في مرحلة الإنتاج. سيكون هذا هو الإصدار الأخير من الميزة المتوفّرة ضمن حزمة android.support، ونحن ننصح مطوّري البرامج بنقل البيانات إلى AndroidX.

الميزات الجديدة

  • يوفر AnimatedStateListDrawableCompat انتقالات متحركة بين الولايات القابلة للرسم.
  • VectorDrawableCompat يمكنك الحصول على دعم للتدرّج العرض ColorStateList والضغطات.

النسخة 28.0.0 RC 2

(27 آب (أغسطس) 2018)

يُعدّ هذا العنصر المُرشَّح لمكتبة الدعم إصدارًا مكتملاً ومساحة عرض واجهة برمجة التطبيقات المتاحة للجميع غير مستقرة. سيتم شحن هذا الإصدار بصفته إصدارًا نهائيًا ثابتًا يمنع أي مشاكل ملحّة قد تحدث. من المفترض أن يكون هذا الإصدار آمنًا في الاستخدام في مرحلة الإنتاج. يُرجى الإبلاغ عن أي مشاكل مع أداة تتبُّع المشاكل العامة.

المشاكل التي تم إصلاحها

  • تزيل ProGuard أداة إنشاء تطبيقات النماذج (المشاكل العامة 112230489)
  • تم إصلاح حالة الثابت "AnimatedStateListDrawableCompat"
  • تمت إزالة الاعتمادية على Media2 من Mediarouter 1.0.0
  • عدم توقّف "Fragment.getViewLifecycleowner()" عند النقر على زر الشاشة الرئيسية (المشكلة العامة 113070421) (المشكلة العامة 113070421](https://issuetracker.google.com/issues/113070421)

النسخة 28.0.0 RC 1

(6 آب (أغسطس) 2018)

يُعدّ هذا العنصر المُرشَّح لمكتبة الدعم إصدارًا مكتملاً ومساحة عرض واجهة برمجة التطبيقات المتاحة للجميع غير مستقرة. سيتم شحن هذا الإصدار بصفته إصدارًا نهائيًا ثابتًا يمنع أي مشاكل ملحّة قد تحدث. من المفترض أن يكون هذا الإصدار آمنًا في الاستخدام في مرحلة الإنتاج. يُرجى الإبلاغ عن أي مشاكل مع أداة تتبُّع المشاكل العامة.

ملاحظة: ظلّت بعض المكتبات، مثل Media2، في مرحلة الإصدار الأولي لأنّ واجهات برمجة التطبيقات لم تكتمل بعد. لا ننصح باستخدام مكتبات الإصدار الأولي في الإنتاج. يجب أن تتجنّب المكتبات تمامًا الاعتماد على مكتبات الإصدار الأولي في عملية الإنتاج، لأنّ مساحات عرض واجهة برمجة التطبيقات قد تتغيّر في الطرق المصدر وغير المتوافقة مع الترميزَين.

المشاكل التي تم إصلاحها

  • لم يتم إعداد قائمة BottomnavigationView بشكل صحيح في مكتبة دعم التصميم
  • عدم معالجة PositionalDataSource بشكل صحيح لعمليات إدراج العناصر المُضافة مسبقًا إلى قاعدة البيانات
  • أشرطة التمرير رديئة وغير متجاوبة
  • عدم إضافة "SlicesProviderCompat.getInstallSpecifications()" أرقام تعريف المستخدمين إلى معرّفات الموارد المنتظمة (URI)
  • RoutePlayer2: لا يؤدي التشغيل عن بُعد إلى التبديل إلى التشغيل المحلي
  • تعطّل تحليل الشرائح المخزَّنة مؤقتًا في الإجراءات
  • تعطُّل تطبيق في "بحث Google" في عرض شريحة ثابتة
  • ConcurrentModvisionاستثناء في مكتبة RecyclerView عند تغيير مجموعة البيانات من خلال إزالة الاختيار
  • تم تحديث preferencesThemeتراكب إلى أحدث مظهر متعدد الأبعاد. في حال عدم توفير أي مظهر مخصّص، يتم استخدام preferencesThemeتراكب كموضوع تلقائي.
  • تم إيقاف المظاهر preferencesThemeتراكب.v14 وpreferencesThemeتراكب.v14.vMaterial. لصالح PreferencesThemeتراكب.
  • يرتبط إذن الوصول إلى PreferencesGroup بمجموعاته الفرعية. سيؤدي إخفاء مجموعة رئيسية أيضًا إلى منع ظهور عناصرها الثانوية في التدرج الهرمي. استخدِم preferences.isShown() لمعرفة ما إذا كانت الإعدادات المفضّلة تظهر للمستخدم في التدرّج الهرمي أم لا.
  • تم إيقاف preferences.onSetFirstNameValue(boolean, Object) واستبدالها بـ onSetFirstNameValue(Object). يستعيد preferencesDataStore الآن بشكل صحيح القيم التلقائية.

النسخة التجريبية 18.0.0 التجريبية

(تموز (يوليو) 2018)

يُعدّ هذا الإصدار التجريبي من "مكتبة الدعم" إصدارًا كاملًا من الميزات، كما أنّ واجهة برمجة التطبيقات العامة الخاصة بها مستقرة، ما يؤدي إلى استبعاد أي مشاكل ملحّة قد تنشأ. على الرغم من أنّ هذا الإصدار آمن للاستخدام في الإنتاج، قد يحتوي على أخطاء. يُرجى الإبلاغ عن أي مشاكل مع أداة تتبُّع المشاكل العامة.

المشاكل التي تم إصلاحها

  • GestureSelectionHelper لتناول الطعام في عناصر غير قابلة للاختيار
  • يمكن أن تحتوي شرائح أشرطة التمرير على رمز إبهام مكرر عند تعديل قيمة شريط التمرير.
  • تعطّل رمز Com_at TYPE_URI
  • تعطُّل مع الإعدادات المفضّلة باستخدام Seekar
  • عطل في Slice.toString()
  • OffsettingListUpdateCallback.onMoved() يستدعي mCallback.onRemoved() بدلاً من mCallback.onMoved() (المشكلة 110711937)

النسخة 27.1.1

(نيسان/أبريل 2018)

المشاكل التي تم إصلاحها

  • لا يستدعي AsyncListDiffer طلب getChangePayload (مشكلة AOSP 73961809)
  • نموذج Fragment ViewModel غير مفعَّل (لم يتم حل المشكلة AOSP 74139250)
  • تزيد RecyclerView.setRecycledViewPool()
  • RecyclerView NPE if Smoute Scroller.onStopStop stop() أو startSmooth Scroller()
  • تؤدي معاملة "استبدال جزء" إلى وميض الجزء السابق بعد عرض جزء جديد (مشكلة AOSP 74051124)
  • تغيير في عطل تحميل القائم بالتحميل في 27.1.0 (مشكلة AOSP 74135998)
  • لا يعمل تنسيق RTL عندما يكون عمود العرض على شكل مربّعات عموديًا >1
  • يتم استدعاء onLoadFinished عدة مرات في ViewPager باستخدام FragmentPagerAdaptiveer
  • من المفترض أن يرسل AsyncListDiffer التحديثات بعد إعداد القائمة الحالية (مشكلة AOSP 74003309)
  • تطبيق ShareActionProvider يقدم فئة ClassCastالاستثناءات في 27.1.0
  • تغيير مراحل نشاط التجزئة باستخدام ViewPager (مشكلة AOSP 73976255)

النسخة 28.0.0 الإصدار الأولي 1

(آذار/مارس 2018)

ملاحظة: إنّ الإصدار 28.0.0-alpha1 هو إصدار أولي يتيح معاينة مطوّري برامج Android P. إنّ مساحة عرض واجهة برمجة التطبيقات الخاصة بها عرضة للتغيير، ولا تتضمّن بالضرورة الميزات أو إصلاحات الأخطاء من أحدث الإصدارات الثابتة من "مكتبة الدعم".

تغييرات مهمة

  • كما هو موضّح سابقًا في إعلان Android KTX، سنواصل استخدام بادئة androidx للحزمة في مكتباتنا. وستتوفّر هذه الحزمة الجديدة مجموعة من المكتبات الجديدة، بما في ذلك heifwriter وrecyclerview-selection. ونأمل أن يوضّح لك الأمر الاختلاف بين android.* وandroidx.* واجهات برمجة التطبيقات التي يتم تجميعها مع النظام الأساسي، والمكتبات الثابتة لمطوّري التطبيقات التي تعمل على مختلف الإصدارات من Android.
  • لقد قسّمنا أجزاء من support-core-ui وsupport-core-utils وsupport-compact إلى مكتبات أصغر. سيساعدنا هذا التغيير في إلغاء اعتماد ارتباطات الدعم في المستقبل. لدينا الآن المكتبات الجديدة التالية:
    • asyncLayoutinflater (من support-core-ui)
    • المجموعات (من تجميع الدعم)
    • مشكلة على التنسيق (من التصميم)
    • المؤشر: (من support-core-ui)
    • مخصص (من support-core-ui)
    • documentfile (من support-core-utils)
    • تخطيط الدرج (من support-core-ui)
    • أداة تحويل البيانات (من support-core-ui)
    • أداة التحميل (من أجزاء الدعم والمرافق الأساسية)
    • Localbroadcastmanager (من support-core-utils)
    • طباعة (من support-core-utils)
    • slidingpaneLayout (من support-core-ui)
    • SwipeupdateLayout (من support-core-ui)
    • pagepage (من support-core-ui)

واجهات برمجة تطبيقات جديدة

  • recyclerview-selection توفّر إتاحة اختيار العناصر RecyclerView. توفّر الحزمة ما يلي:
    • إتاحة إنشاء تغييرات على مجموعة من العناصر المحدّدة في قائمة RecyclerView وتعديلها وفحصها ومراقبتها.
    • دعم إجراءات سهلة متعددة الاختيارات:
      • يتيح التحديد المستند إلى اللمس للمستخدمين اختيار نطاقات العناصر باستخدام إيماءة الضغط مع الاستمرار والسحب.
      • يتيح اختيار النطاق المستند إلى الماوس للمستخدمين إمكانية اختيار مجموعة من العناصر في قائمة RecyclerView باستخدام إجراءات نطاق الماوس التقليدي/مؤشر الماوس اللاسلوي.
    • يتوافق هذا الإعداد مع الأجهزة التي تركّز على اللمس، بما في ذلك الأجهزة التي تتضمّن أشكالاً متوافقة مع الهواتف والكمبيوتر المحمول، بالإضافة إلى الأجهزة التي تركّز على المؤشرات.
  • يمكنك استخدام HEIF Writer لكتابة صور ثابتة بتنسيق HEIF.
  • مكتبة التصميم
    • لقد طرحنا مظهرًا جديدًا للتطبيق، Theme.MaterialComponents، بسمات جديدة وأنماط معدَّلة للمكوّنات.
    • ولقد أضفنا المكوّنات التالية:
      • شريط التطبيق السفلي
      • شريحة
      • مجموعة الشرائح
      • MaterialButton
      • عرض المواد
  • توفّر الشرائح إطار عمل للتطبيقات لتضمين المحتوى المستند إلى نموذج من التطبيقات الأخرى.
    • تحتوي أدوات إنشاء الشرائح على طرق لإنشاء محتوى بتنسيق نموذج.
    • يحتوي عرض شرائح على طرق لعرض هذا المحتوى.
  • توفّر إجراءات المتصفّح بروتوكولاً يُتيح لمطوّري التطبيقات إطلاق قائمة سياقات متسقة (ولكن قابلة للتخصيص) لعناوين URL. وتعتمد هذه الميزة على توفُّر تطبيق متصفّح (مثل Chrome، حيث لا تزال هذه الميزة قيد التطوير) والتي تنفّذ دعمًا لإجراءات المتصفّح.
  • ContextCompat.getSystemService() وgetSystemServiceName() السماح بعمليات البحث عن خدمات النظام حسب النوع على جميع مستويات واجهة برمجة التطبيقات.

إصلاح الأخطاء

  • Fragment ViewModel's onCleared غير مُسمى (مشكلة AOSP 74139250)
  • يتم تحميل onLoadFinished() عدة مرات في ViewViewr مع FragmentPagerAdaptiveer (مشكلة AOSP 74182171)
  • تعرض عملية إعادة الضبط بطريقة سلسة في VerticalLayoutView لدى RecyclerView حركة غير منتظمة (عكسية) في ظروف معيّنة (مشكلة AOSP 71567765)

إصدار النسخة 27.1.0

(شباط/فبراير 2018)

تغييرات مهمة

  • تمت إعادة كتابة آلية تنفيذ القاطرات بهدف استخدام رحلة المستخدم. وعلى الرغم من أنّ واجهة برمجة التطبيقات لم تتغيّر، هناك عدد من التغييرات في السلوك:
    • يمكن الآن الاتصال بـ initLoader() وrestartLoader() وdestroyLoader() فقط على سلسلة المحادثات الرئيسية.
    • يتم الآن طلب onStartLoading() وonStopLoading() للقائم بالتحميل عند بدء تشغيل/إيقاف جزء يتضمن الجزء المضمّن في الترميز، على التوالي.
    • سيتم استدعاء onLoadFinished() فقط بين onStart() وonStop. نتيجةً لذلك، يمكن الآن إجراء معاملات التجزئة بشكل آمن في onLoadFinished().
    • تم الآن إيقاف طرق FragmentController المرتبطة بمحرّكات البحث.
  • من الآن فصاعدًا، ستصبح قيمة getDialog() في DialogFragment غير فارغة حتى onDestroyView()، بدلاً من أن تكون فارغة في dismiss(). يمكنك الآن تحديد ما إذا كان قد تم إغلاق مربّع الحوار يدويًا في onStop() من خلال التحقّق مما إذا كان getDialog().isShowing() يعرض القيمة false أم لا.

واجهات برمجة تطبيقات جديدة

  • ListAdapter لـ RecyclerView (بالإضافة إلى AsyncListDiffer) يسهّل حساب الاختلافات بين القوائم في سلسلة محادثات في الخلفية. يمكن أن يساعد ذلك في تغيير محتوى الصور المتحركة RecyclerView تلقائيًا، بأقل جهد ممكن في سلسلة محادثات واجهة المستخدم. ويستخدم هؤلاء الأشخاص DiffUtil تحت غطاء المحرّك.
  • يتيح SortedList.ReplaceAll تعديل كل البيانات في الترتيب الذي يتم فيه تشغيل جميع الصور المتحركة المناسبة للإدخالات والإزالة والتغييرات وعمليات النقل (يتم التعامل مع عمليات النقل كعمليات إزالة وإدراج).
  • يستخدم FragmentActivity وFragment الآن السمة ViewModelStoreOwner ويمكن استخدامهما مع عاملي إنشاء ViewModelProvider بدلاً من استخدام ViewModelProviders.of()
  • أصبحت الأجزاء الآن requireContext() وrequireActivity() وrequireHost() وrequireFragmentManager() التي تعرض عنصر NonNull للطرق المكافئة أو تعرض IllegalStateException.
  • requireViewById()، تمت إضافة إصدار مجمّع من @NonNull لـ findViewById() إلى WindowCompat وActivityCompat وViewCompat، ما يؤدي إلى طرح IllegalArgumentException عندما لا يمكن العثور على الهدف.
  • LoaderCallbacks أصبح للطرق الآن تعليقات توضيحية مناسبة للسمة @Nullable و @NonNull.
  • FileProvider تتوفر الآن على getExternalMediaDirs() على واجهة برمجة التطبيقات 21 والإصدارات الأحدث من خلال العنصر <external-media-path> الجديد.

إصلاح الأخطاء

  • الجزء الذي يجهّل برنامج تحميل في onCreate أدى إلى تعطّل مراحل النشاط داخل ViewPager
  • LoaderManager رمي دالةStateState
  • لا يمحو LoaderViewModel القائمين بالتحميل في onCleared
  • لم يتم العثور على ملف الفئة android.arch.lifecycle.ViewModelStoreowner
  • لم يتم استدعاء DialogFragment on تنطبق على الفور بعد إغلاقها(())
  • لا تعمل الرموز التعبيرية لرمز البلد على أجهزة إصدار الإصدار عند استخدام الخطوط القابلة للتنزيل
  • تستخدم مكتبة الإعدادات المفضّلة سمات لن تعمل على الإصدارات القديمة من Android.
  • تم توثيق أنواع العناصر التجريبية في MediaCompat بشكل غير صحيح (مشكلة AOSP 71559905)
  • أعطال Google Sans في TypefaceCompatUtil
  • اطّلِع على الشركة المصنّعة لدالة ArraySet التي تستغرق عملية جمع البيانات.
  • يحدّث UpdateApi الملفات التي تم تجاهلها .ويجب الاحتفاظ بها
  • تم إنشاء الشريحة الرئيسية من FrFragment في BrowserFragment.
  • إزالة استخدام الانعكاس من CarRecyclerView
  • هاتا
  • تم الحصول على (غير موثَّق) java.lang.SecurityExclude عند استخدام android.support.v4.content.PermissionChecker.checkSelfPermission
  • RecyclerView IndexOutOfBoundsاستثناء لأن State.mPreviousLayoutItemCount لم يتم محوه في setAdaptiveer (مشكلة AOSP رقم 37657125)
  • الجزء الذي يبدِّل أداة التحميل في onCreate قد حدث عطل في ViewPager (مشكلة AOSP 34831613)
  • أعطال FragmentManagerImpl.execUnAction

الإصدار 27.0.2 من المراجعة

(تشرين الثاني/نوفمبر 2017)

إصلاح الأخطاء

  • EmojiEditTextHelper يرمي NullPointerException.
  • IllegalStateException: لم يتم إرفاق جزء من المقتطف حتى الآن.
  • تعذّر إغلاق النافذة المنبثقة لرمز "البث" من خلال النقر في أي مكان على الشاشة.
  • MediaMetadataCompat يرمي BadParcelableException.

الإصدار 27.0.1 من المراجعة

(تشرين الثاني/نوفمبر 2017)

إصلاح الأخطاء

  • LifecycleRegistry في حالة غير صحيحة بعد الاتصال startActivityForResult(). (المشكلة 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().
  • تتميّز ميزة Lanback بميزات جديدة وصقل ميزاتها، وتفقد بعض الصفوف التي تم إيقافها نهائيًا، مثل:
    • يمكن الآن في Picker استخدام فواصل مختلفة بين كل عمود باستخدام طريقة setSeparators().
    • تمت إضافة السمة DiffCallback للسماح للسمة ArrayObjectAdapter بالاستفادة من النتيجة التي وفّرتها DiffUtil.
    • تمت إضافة بنية أساسية متوافقة مع مشغّلات الوسائط باستخدام عناصر تحكّم المتغيّر، وإضافة عناصر تحكّم اختيارية للتقديم السريع والتكرار والترتيب العشوائي والتالي والترجيع.
    • تتم إزالة السمتَين MediaControllerGlue و وControlControlGlue وPlaybackControlSupportGlue و PlaybackOverlayFragment.
  • لإجراء الاختبار، يتم نقل أداة استطلاعات الرأي إلى الاستطلاعات من AOSP CTS. ويتم إجراء استطلاعات للحالة التي يمكن أن تحدث ضمن فترة المهلة.
  • تمت إضافة بنية أساسية إلى أذونات التشغيل في التطبيقات الفورية على الإصدار 5.0 من نظام التشغيل Android، وذلك باستخدام PermissionCompatDelegate.
  • أصبحت علامات التبويب المخصّصة الموثوق بها متاحة الآن، بالإضافة إلى إمكانية تحديد العلاقة بين التطبيق ومعرّف الموارد المنتظم (URI) المصدر.
  • ويتم تسهيل إمكانية استخدام وضع الاستراحة في Android Wear OS باستخدام جزء الاستراحة الذي لا يتضمّن واجهة مستخدم رسومية، ما يجعل أيضًا وضع التوافق مع البيئة المحيطة متوافقًا مع استخدام مكوّنات البنية.
  • يسعى فريق Wear OS إلى الحصول على ملاحظات مطوّري البرامج بشأن هذا التغيير المهم. لمزيد من المعلومات، يُرجى الاطّلاع على ملاحظات إصدار Android Wear OS.
  • تمت إزالة بعض الصفوف التي تم إيقافها نهائيًا أثناء الابتعاد عن واجهات برمجة التطبيقات القديمة للإصدار V14، مثل android.support.v7.NotificationCompat (استخدِم الإصدار 4 من NotificationCompat بدلاً من ذلك) وKeyEventCompat وParallelExecutorCompat و SearchViewCompat.
  • تتوفّر الآن ثوابت البيانات الوصفية الخاصة بملفّات Wear OS التي تم نقلها من خلال android.support.wear.utils.MetadataConstants.
  • أصبحت ميزة "وضع الإضاءة السينمائية" متاحة الآن لجميع الأنشطة، وليس فقط في الأجهزة القابلة للارتداء. ولمزيد من المعلومات، يمكنك الاطّلاع على المرجع AmbientMode.
  • يدعم RoundedDrawable الآن التضخم XML.

إصلاح الأخطاء

  • تعطُّل التطبيق مع مكتبة الدعم 27 والخط القابل للتنزيل
  • الخطوط القابلة للتنزيل لا تعمل مع المشاريع الجديدة التي تم إنشاؤها بعد تحديث حزمة تطوير البرامج (SDK)
  • تعطّل واجهة برمجة التطبيقات SpeechRecognizer في أحدث ترقية
  • عطل متعلق بالكسر أثناء الرسم بعد إزالة عرض الصور المتحركة
  • تعطُّل تشغيل الوسائط الديموغرافية-leanback-demos
  • إضافة مكتبة دعم Android إلى <meta-data> إلى البيان
  • يجب أن يفهم FontResourcesParserCompat Android: Attrs
  • لا يتيح اللصق في iCloud مؤقتًا مفتاح الإدخال.
  • رمز لم يتم حلّه في IDE عندما تتشارك عدة حِزم معرّف العنصر نفسه.
  • استثناء المؤشر الفارغ في CarExtender
  • تم ضبط الترتيب العشوائي / التكرار غير الصحيح StateState بعد إنشاء MediaController.
  • يتم تشغيل الملصقات التلقائية لمجموعة المكتبة في المجموعة التالية أثناء التنقّل.
  • انقطعت البيانات الوصفية لبطاقة الاقتراحات.
  • legalArgumentاستثناء في RecyclerView.attachmentViewToParent()
  • classNotFoundالاستثناءات عند إلغاء تسليط الضوء على الحالة (مشكلة AOSP 37133281)
  • تعذّر التركيز على RecyclerView
  • إصلاح خطأ ANR في مدير تنسيق GAMS

إصدار النسخة 26.1.0

(أيلول (سبتمبر) 2017)

هذا إصدار خاص لدمج مكتبة الدعم مع دورات الحياة من مكوّنات البنية. إذا كنت لا تستخدم مكتبة مراحل النشاط، لن تحتاج إلى تحديث من 26.0.2. لمزيد من المعلومات، يمكنك الاطّلاع على ملاحظات إصدار مكوّنات البنية.

تغييرات مهمة

إصدار النسخة السابقة 26.0.2

(آب (أغسطس) 2017)

إصلاح الأخطاء

  • تم دمج رموز القوائم في مكتبة الدعم 26.0.0
  • GuidedAction.multilineDescription لا يعمل بشكل صحيح مع Lanback

إصدار النسخة 26.0.1

(آب (أغسطس) 2017)

إصلاح الأخطاء

  • أعطال FontCompat 26.0.0 على أجهزة O-MR1
  • يجب ألا تتضمن مكتبة دعم التصميم 26.0.0 دعمًا متعدد الوسائط (المشكلة 63999442)
  • أصبح AppBarLayout الآن 300 بكسل من المساحة المتروكة اليسرى منذ 26.0.0
  • تنقُّل عناصر التشغيل قيد التشغيل
  • يتم استدعاء Fragment.onCreateView في وقت ما قبل انتهاء عبارة onCreate
  • android.os.BadParcelableاستثناء: classNotFoundExclude عند إلغاء: android.support.v4.media.MediametadataCompat

إصدار النسخة 26.0.0

(تموز (يوليو) 2017)

ملاحظة مهمة: أصبحت مكتبات الدعم متاحة الآن من خلال مستودع Maven من Google. ولست بحاجة إلى تنزيل مستودع الدعم من أداة إدارة البرامج (SDK). ولمزيد من المعلومات، يمكنك الاطّلاع على إعداد مكتبة الدعم.

تغييرات مهمة

  • تمت زيادة الحد الأدنى لإصدار حزمة تطوير البرامج (SDK) إلى 14. ونتيجةً لذلك، تم نهائيًا إيقاف العديد من واجهات برمجة التطبيقات التي كانت متوافقة فقط مع مستويات واجهة برمجة التطبيقات لمرحلة ما قبل 14 عامًا. ويجب أن يتم نقل برامج واجهات برمجة التطبيقات هذه إلى مكافئات إطار العمل كما هو موضّح في الصفحة المرجعية لكل واجهة برمجة تطبيقات تم إيقافها نهائيًا.
  • تتضمّن "مكتبة واجهة المستخدم" في Wear صفوفًا تساعدك على تنفيذ الأنماط والتنسيقات التي تعمل على أجهزة Wear. لمزيد من المعلومات، يمكنك الاطّلاع على استخدام مكتبة واجهة مستخدم Wear OS.
  • تم إيقاف وحدة دعم Percent. يجب نقل برامج هذه الوحدة إلى أداة ConstraintLayout الجديدة، التي يتم تقديمها كعنصر منفصل في أداة SDK Manager.
  • تم إيقاف العمل بسمة android.support.v7.app.NotificationCompat وتصنيفاتها التي تتضمنها نهائيًا وستتم إزالتها في إصدار مستقبلي:
    • يمكنك استخدام NotificationCompat.Builder بدلاً من v7.app.NotificationCompat.Builder. تم الآن دمج الوظائف التي كانت تعتمد سابقًا على استخدام الإصدار 7 من أداة AppCompat Builder في الإصدار 4.
    • تم نقل DecoratedCustomViewStyle إلى حزمة android.support.v4.app.
    • أصبحت MediaStyle وDecoratedMediaCustomViewStyle جزءًا من مكتبة Media-com ويمكن العثور عليها في حزمة android.support.v4.media.app.

واجهات برمجة تطبيقات جديدة

  • علامة fastScrollEnabled جديدة منطقية لـ RecyclerView. في حال تفعيل هذه السياسة، يجب ضبط fastScrollHorizontalThumbDrawable وfastScrollHorizontalTrackDrawable وfastScrollVerticalThumbDrawable و fastScrollVerticalTrackDrawable.

الاختلافات في واجهة برمجة التطبيقات

إصلاح الأخطاء

  • تكرار لا نهائي في RecyclerView.toString()
  • المرجع ResourceFoundFoundنتيجة تنفيذ مشروع Kotlin على واجهة برمجة التطبيقات 16 AVD بعد الترقية إلى إصدار Canary 6
  • java.lang.AssertionError في عرض التصميم مع مكتبة الدعم 26.0.0-ميزة تجريبية2
  • تعطُّل معاينة تنسيق "استوديو Android" في التطبيقات المصغّرة لـ "مكتبة الدعم"
  • يتم تجاهل preferences.setDoubleLineTitle() في حال عدم إنشاء الخيار المفضّل باستخدام السمات
  • إنّ التعليقات التوضيحية "منذ" الحالية لفئة DAC غير صحيحة في 25.3.0 / 25.4.0 من مراجعات "مكتبة الدعم".
  • توفّر مورد ResourceCompat.getFont() استثناءً.
  • عنوان شريط الأدوات ليس بخط غامق
  • يؤدي تحديد الحجم التلقائي باستخدام maxLines إلى إنشاء نتائج غير متوقَّعة.
  • NullPointerاستثناء في النص ViewView.checkForRelayout()
  • يستدعي AppCompatTextViewAutoSizeHelper.setRawTextSize() طلب requestLayout() أثناء التنسيق
  • تعطُّل EmojiAppCompatTextView
  • لا يتم ضبط ميزة "عرض الصور تلقائيًا" تلقائيًا عند تغيير النص.
  • تلف الشاشة في Instacart
  • استثناء غير متوافق مع السياسة في ItemItemCompat
  • عدم استخراج NotificationCompat الإجراءات بالكامل في واجهة برمجة التطبيقات 24 أو الإصدارات الأحدث
  • مشاكل إرساء الإرساء في CoordinatorLayout عند تعديل التنسيق