قد لا تدعم أجهزة Android 11 الجديدة أ/ب الظاهري للتحديثات السلسة

click fraud protection

تراجعت Google عن مطالبة مصنعي المعدات الأصلية بدعم Virtual A/B على أجهزة Android 11 الجديدة، الأمر الذي كان من شأنه أن يمهد الطريق لتحديثات سلسة.

التحديث 1 (25/01/2021 الساعة 2:06 مساءً بالتوقيت الشرقي): قبل إصدار Android 11، يبدو أن Google قد تراجعت عن مطالبتها بدعم أجهزة التشغيل الافتراضية A/B. انقر هنا للمزيد من المعلومات. المقالة كما نشرت بتاريخ 7 أبريل 2021 محفوظة أدناه.

مع Android 7.0 Nougat، قدمت Google نظام تقسيم مصممًا لتسريع تحديثات البرامج. في Nougat، أضافت Google دعمًا لتكرار أقسام معينة بحيث يمكن تحديث الأقسام غير النشطة في الخلفية ثم تبديلها إلى نشطة من خلال إعادة التشغيل السريع. هذا يتيح إعداد "قسم A/B" إجراء "تحديثات سلسة" ليتم إجراؤه على أجهزة Android المدعومة، تمامًا مثل نظام التشغيل Chrome من Google. ومع ذلك، لم تفرض Google مطلقًا استخدام أقسام A/B، لذلك لا تدعم العديد من الأجهزة التحديثات السلسة. ومع ذلك، يمكن أن يتغير ذلك مع نظام Android 11، حيث تجعل Google من الضروري للأجهزة التي تم إطلاقها حديثًا دعم أقسام A/B الافتراضية.

للحصول على القليل من الخلفية، تشير أقسام A/B إلى مجموعة أقسام القراءة فقط المكررة. تتضمن الأقسام المكررة عادةً أقسام النظام والبائع والتمهيد والمنتج. عندما يقوم الهاتف بتنزيل تحديث، يقوم المُحدِّث بتصحيح مجموعة الأقسام غير النشطة ("فتحة واحدة") في الخلفية. بمجرد الانتهاء من تطبيق التحديث على الفتحة غير النشطة، يُطلب من المستخدم إعادة تشغيل أجهزته. عندما يقوم المستخدم بإعادة تشغيل جهازه، يتم تبديل الفتحة غير النشطة مع الفتحة النشطة، مما يؤدي إلى إنهاء عملية التحديث. يتم ترك الفتحة النشطة مسبقًا دون تغيير إذا كانت هناك مشكلة في تشغيل الفتحة المحدثة حديثًا. عندما يبدأ التحديث التالي، تتكرر هذه العملية. إذا كنت مهتمًا بالمزيد من الشرح الفني،

راجع وثائق مطوري Google على أقسام A/B.

في المقابل، تقوم الأجهزة التي لا تحتوي على أقسام A/B، مثل Samsung Galaxy S20 وOPPO Find X2 والعديد من الأجهزة الأخرى، بتطبيق التحديثات من خلال مُحدِّث مخصص في عملية الاسترداد. يؤدي هذا إلى طرد المستخدم من نظام Android ويجعله غير قادر على استخدام أجهزته لعدة دقائق، مما قد يؤدي إلى فقدان الإشعارات أو المكالمات أو الرسائل النصية المهمة. تعتقد Google أن تبسيط عملية التحديث يؤدي إلى حصول عدد أكبر من الأشخاص على التحديث فعليًا بمجرد طرحه؛ في الواقع، في مايو من عام 2017، وجدت جوجل ذلك كانت نسبة مستخدمي Pixel أعلى من مستخدمي Nexus الذين كانوا يستخدمون آخر تحديث أمني. بالطبع، يمكن للمستخدم جدولة التحديثات ليتم إجراؤها عندما لا يستخدم أجهزته بشكل نشط، ولكن العديد من المستخدمين ببساطة لا يقومون بتحديث أجهزتهم حتى عندما يُطلب منهم ذلك. بالإضافة إلى ذلك، من خلال عدم وجود أقسام A/B، يفتقد المستخدم إحدى فوائده المتأصلة: حمايته من تحديثات النظام الفاشلة.

على سبيل المثال، عندما Xiaomi تم طرح تحديث Android 10 لأول مرة بالنسبة لهاتف Mi A2 Lite، اكتشف العديد من المستخدمين أن أجهزتهم لا تقوم بالتشغيل. ولحسن الحظ بالنسبة لهم، يحتوي هاتف Mi A2 Lite على أقسام A/B لإجراء تحديثات سلسة تم العثور على المستخدمين في منتدياتنا أنه يمكنهم استخدام أمر fastboot لتعيين أداة تحميل التشغيل لتشغيل مجموعة الأقسام التي لم تمسها والتي كانت نشطة سابقًا. وبالتالي، لا توفر أقسام A/B للمستخدمين عملية تحديث أسرع بكثير فحسب، بل تعمل أيضًا كأداة آمنة للتحديثات الفاشلة. لا يزال بإمكان مصنعي المعدات الأصلية الذين لم يطبقوا أقسام A/B هندسة طريقتهم الخاصة للحماية من OTA الفشل، ولكن لماذا نواجه هذه المشكلة عندما تكون هذه الحماية جزءًا من تصميم A/B أقسام؟ كمرجع لك، إليك جزء جزئي (وقد عفا عليه الزمن) قائمة الأجهزة التي تدعم أقسام A/B للحصول على تحديثات سلسة، وهنا برنامج تعليمي حول كيفية التحقق مما إذا كان جهازك الخاص يدعم هذه الميزة.

قد يبدو من المحير سبب إعجاب بعض مصنعي المعدات الأصلية بذلك تتقاضى شركة Samsung مبلغ 1400 دولار مقابل الهاتف الذكي ولكنها لن تقدم مثل هذه الميزة الرائعة. عادةً ما يتلخص السبب في التخزين: لا يرغب مصنعو المعدات الأصلية في التضحية ببضعة غيغابايت من مساحة التخزين لدعم التحديثات السلسة. تحتوي الهواتف مثل Samsung Galaxy S20 على طن من البرامج المثبتة مسبقًا، لذا فإن تكرار الأقسام مثل /system و/product سيؤدي إلى تكرار الكثير من الملفات والتطبيقات الضخمة. تمكنت Google من تنفيذ أقسام A/B دون التضحية كثيرًا بمساحة التخزين بفضل خدعة ذكية للتغلب على مشكلة تكرار ملفات .odex الضخمة. السبب الآخر الذي قد يجعل مصنعي المعدات الأصلية يختارون عدم تنفيذ أقسام A/B هو التكلفة: مواكبة Google تتطلب التغييرات المستمرة في أنظمة تقسيم Android الكثير من الجهد، كما هو الحال مع مطور XDA المعترف به com.topjohnwu سوف أقول لك. وما لم يضطر مصنعو المعدات الأصلية إلى ذلك، فلن يكلف الكثير منهم عناء تغيير ما يناسبهم بالفعل.

أخيرًا، يبدو أن Google تضع القانون في Android 11. من خلال فرض اعتماد أقسام A/B الافتراضية على الأجهزة التي تم إطلاقها حديثًا، فقد أكدوا جميعًا أنه سيتعين على مصنعي المعدات الأصلية دعم التحديثات السلسة لأجهزتهم في أواخر عام 2020 و2021. كما رصده مطور XDA المعترف به luca020400، قدم Yifan Hong، وهو مهندس برمجيات في Google في فريق Project Treble، التزامًا إلى AOSP Gerrit بعنوان "تتطلب Virtual A/B عند إطلاق R." يقوم الالتزام بتحديث Vendor Test Suite، أو VTS، وهو اختبار تلقائي يجب أن تجتازه جميع الأجهزة حتى تعتبر متوافقة مع Project Treble. يتحقق الاختبار الجديد مما إذا كانت خاصية النظام "ro.virtual_ab.enabled"تم تعيينه على صحيح وإذا"ro.virtual_ab.retrofit" تم ضبطه على "خطأ" على الأجهزة ذات مستوى واجهة برمجة تطبيقات الشحن 30 أو أعلى. بمعنى آخر، يتحقق هذا الاختبار مما إذا كان الجهاز الذي يعمل بنظام Android 11 أو أعلى يدعم أقسام A/B الافتراضية. تم تقديم أقسام A/B "الافتراضية" مع Android 10 إلى جانب "الأقسام الديناميكية"، وهي أقسام يمكن تغيير حجمها ديناميكيًا. إنها نفس مفهوم أقسام A/B العادية باستثناء أنه يمكن تغيير حجمها بحرية.

إذا كان الجهاز الذي يعمل بنظام Android 11 لا يدعم أقسام A/B الافتراضية، فسوف يفشل VTS. إذا فشل الجهاز في خدمة VTS، فلن يتمكن من الشحن مع Google Mobile Services. بمعنى آخر، لقد جعلت Google من مصنعي المعدات الأصلية (OEM) مطالبين فعليًا بدعم أقسام A/B الافتراضية، وبالتالي التحديثات السلسة.


التحديث: Virtual A/B غير مطلوب لنظام Android 11

عندما أبلغنا لأول مرة في أبريل أن Google تطلب من جميع أجهزة تشغيل Android 11 دعم آلية تحديث A/B الافتراضية، كان هناك الكثير من الإثارة لأنه كان من شأنه أن يجعل هواتف Samsung تتمتع بتحديثات سلسة أخيرًا. لسوء الحظ، اتضح أن Google قررت عدم جعل دعم A/B الافتراضي أحد المتطلبات. أندرويد 11 وثيقة تعريف التوافق (CDD) يقرأ حاليًا "يجب أن تدعم تطبيقات الجهاز تحديثات نظام A/B" بدلاً من دعم "MUST". يبدو أنه في مرحلة ما قبل إصدار Android 11، قررت Google التراجع عن قرارها بطلب دعم A/B الظاهري، على الأرجح في بناء على طلب من العديد من مصنعي المعدات الأصلية. يحدث هذا بشكل متكرر ولكن لا يتم نقله إلى الجمهور مطلقًا حيث يتم نشر المسودة النهائية لإجراءات العناية الواجبة فقط متصل.