تعمل Google على توسيع ميزة DSU في Android 10 لتتيح لك تجربة OTAs من الشركات المصنعة الأصلية دون الالتزام بالتحديث

يمثل نظام التشغيل Android وتجزئة مستوى الأمان مشكلة كبيرة في أن Google تستثمر الكثير من الجهد الهندسي لمكافحته. في العامين الماضيين ، أعلنت Google عن مبادرتين رئيسيتين تهدفان إلى تسريع نشر التحديثات: Project Treble و Project Mainline. تم الإعلان عن الأخير فقط في شهر مايو خلال Google I / O 2019 ، وهو مدعوم فقط على الأجهزة التي يتم تشغيلها مع Android 10. ومع ذلك ، فقد كان الأول موجودًا منذ Google I / O 2017 ، لذلك لاحظنا مقدار التأثير لقد كان على تحديثات Android مع Android 9 Pie و Android 10.

إلى جانب تقليل التفتت ، تريد Google أيضًا أن يكون Project Treble مفيدًا لمطوري التطبيقات. لهذا السبب كشف النقاب عن تحديثات النظام الديناميكي (DSU) في Android 10 للسماح للمطورين بتجربة إصدار مكشوف من تحديث نظام التشغيل الجديد دون إلغاء قفل أداة تحميل التشغيل أو مسح البيانات. نظرًا لإمكانية DSU ، فإن Google لا يتوقف عند هذا الحد - إنه يقوم بتوسيع فائدته من خلال تمكين تحديثات OTA من مصنعي المعدات الأصلية بنفس طريقة تثبيت GSI.

هذا كثير من المصطلحات ، لكن تخيل حدوث ذلك في المستقبل: تقوم إحدى الشركات المصنّعة (OEM) بإصدار هاتف به نظام Android 10 وبدء برنامج تجريبي لنظام Android 11. أنت مهتم بتجربة هذا الإصدار التجريبي لمشاهدة الميزات الجديدة ، لكنك لا تفعل ذلك. ر تريد المجازفة باستقرار سائقك اليومي الحالي. بدلاً من وميض التحديث التجريبي ثم الأمل في ثباته تمامًا ، لماذا لا تقوم بتثبيته مؤقتًا من خلال تدفق DSU؟ إذا لم يعجبك ذلك ، فما عليك سوى إعادة التشغيل وسيعود الإعداد إلى الوضع الطبيعي. إذا كنت ترغب في ذلك ، يمكنك "الالتزام" بالتحديث.

لا أعرف عنك ، ولكن هذا سيكون تغييرًا مرحبًا به في Android مما يجعل اختبار بيتا أكثر متعة. لن تضطر إلى الالتزام بتحديث تجريبي لمجرد رؤية ما هو عليه بالنسبة لك. أنا متأكد من أن العديد منكم يحاولون مشاهدة إصدار Android 10 beta لجهازك ، لكنك قد لا تشعر بالراحة عند تثبيته على الفور. مع التغييرات التي تم إجراؤها على DSU ، لن يكون ذلك مصدر قلق.

تحديثات النظام الديناميكية في Android 10+ - ما الذي يتغير

أبلغنا لوكا ستيفاني ، صديق البوابة ومطور معترف به ، عن التزام جديد تم دمجه في AOSP بعنوان "قم بتركيب أقسام DSU متعددة عند وجودها". يقوم الالتزام بإجراء تغييرات على جدول نظام الملفات (fstab) وعملية التهيئة لإجراء بحيث يمكن تركيب أقسام DSU غير النظام ، بما في ذلك المنتج والبائع ، أثناء عملية التمهيد.

رمز جديد في fstab لإضافة دعم لتحميل صور product_gsi و vendor_gsi بدلاً من أقسام المنتج والبائع الحالية على التوالي. يشير تعليق إلى أنه يمكن توقيع وحدات DSU من قِبل الشركة المصنّعة للمعدات الأصلية (OEM) ، لكن بطريقة أخرى تدعم GSIs الرسمية لـ Google.

حاليًا ، تم تصميم DSU للسماح لك فقط بتمهيد صورة النظام العام (GSI) ، وهي صورة نظام هيكلي تم تجميعها من AOSP ، حتى تتمكن من اختبار واجهات برمجة التطبيقات الجديدة والتغييرات الأخرى في آخر تحديث Android. ومع ذلك ، مع هذا التغيير ، ستقبل DSU أيضًا صور المنتج والبائع. يحتوي الأول على تطبيقات ومكتبات وملفات أخرى خاصة بالجهاز ، بينما يحتوي الأخير على ثنائيات خاصة بالجهاز. جعل Project Treble ذلك حتى تتمكن من تشغيل جهاز باستخدام صورة نظام بدون ملفات خاصة بالجهاز ، لذلك للسماح الآن بتحميل المنتج والبائع لا يبدو له معنى كبير.

ومع ذلك ، يقول مهندس Google صراحة أن هذا التغيير يهدف إلى "السماح لمصنعي المعدات الأصلية [بتثبيت] حزم OTA على / البيانات ، ثم استخدام تدفق [DSU] لتحميل المنتج. img ، system.img ، [و] vendor.img من / البيانات. "هذا يعني أنه بدلاً من الكتابة فوق التثبيت الحالي مع حزمة OTA الجديدة ، يمكن تحميل OTA مؤقتًا عبر DSU. بعد تجربة تحديث OTA ، "يمكن للمستخدم أن يقرر ما إذا كان يريد" إلتزام "هذه الصور بـ / فائقة أم لا." هذا الجزء الأخير حول "ارتكاب" التغييرات لا يزال قيد العمل ، كما يشير أحد مهندسي Google إلى أن "ليس لدينا حاليًا خطة لجعل أقسام DSU دائمة ضمن سياق DSU". ثم يوضح كيفية تنفيذ ذلك ، ولكن هذا التنفيذ "خارج نطاق" هذا التصحيح الحالي.

هناك بعض المصطلحات والمفاهيم التي نحتاج إلى شرحها هنا لأن Google تحب تغيير نظام التقسيم في كل إصدار Android. بالنسبة للمبتدئين ، أوصي بقراءة مقالتي السابقة حول "تحديثات النظام الديناميكية" للحصول على نظرة عامة واسعة حول كيفية عمله ، ولكن باختصار ، يستفيد من مفهوم "القسم الديناميكي" ، وهو قسم حقيقي للتخزين (يُسمى "super" "التقسيم" الذي ينقسم إلى أقسام منطقية يمكن تغيير حجمها (بما في ذلك النظام ، البائع ، المنتج ، و system_ext) ، لتثبيت GSI مؤقتًا. عند تثبيت GSI ، تنشئ DSU مساحة للنظام والصور الجديدة لبيانات المستخدم عن طريق تغيير حجم قسم بيانات المستخدم الموجود. تعد عناصر بناء دعم DSU (الأقسام الديناميكية ، ramdisk ، ونقاط التفتيش للنسخ الاحتياطية للبيانات) من متطلبات التشغيل لنظام Android 10 ، لذا فإن أي جهاز يتم تشغيله باستخدام إصدار Android OS الجديد يجب أن يدعم DSU. لا تعد DSU هي الحل المزدوج للإقلاع المدمجة التي يبحث عنها البعض ، لأنه لا يمكن تثبيت سوى الصور التي تتوافق مع مفاتيح Android Verified Boot (AVB). ومع ذلك ، مع هذا التغيير الجديد ، يمكن أن يكون أكثر فائدة في المستقبل.

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

لا تزال هذه التغييرات قيد التطوير وقد تستغرق بعض الوقت قبل استخدامها من قبل Google أو الشركات المصنعة الأصلية. من المحتمل ألا نرى أي تطبيقات لذلك حتى يتم إصدار Android 11 R في أقرب وقت ممكن العام المقبل. ومع ذلك ، ليس هناك ما يضمن أن مصنعي المعدات الأصلية يعتمدون هذه الميزة للحصول على تحديثات OTA الخاصة بها. بالنظر إلى مدى فائدة هذا الاختبار التجريبي ، أتصور أن Google تعمل بالفعل مع الشركات المصنعة الأصلية المهتمة لتمكين هذه الميزة للتحديثات المستقبلية. أنا شخصياً متحمس لإمكانية تجربة تحديثات Android قبل الشراء ، ولكن ماذا عنك؟