يساعد DSU Loader في Android 11 المطورين على اختبار التطبيقات على مخزون Android

click fraud protection

سيأتي Android 11 مع DSU Loader ضمن خيارات المطور التي ستتيح لك تنزيل وتثبيت GSI المتوافقة تلقائيًا! اقرأ المزيد!

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

يبدأ بمشروع Treble

يُعد Project Treble ، الذي تم تقديمه في Android 8.0 ، أمرًا رئيسيًا إعادة هندسة نظام التشغيل Android. كان الهدف من Project Treble هو تقسيم نظام التشغيل Android إلى قسمين كبيرين: إطار العمل وتنفيذ البائع (يشير "البائع" هنا إلى مُصنِّع أي مكون من مكونات الأجهزة الاحتكارية الموجودة داخل الجهاز ، وعادةً ما يشير إلى السيليكون). إطار عمل نظام التشغيل Android هو نظام التشغيل نفسه ، بما في ذلك جميع تطبيقات النظام وواجهة المستخدم ومكوناته وواجهات برمجة التطبيقات المشتركة عبر أجهزة Android. يحتوي تطبيق البائع على HALs (طبقات تجريد الأجهزة) و Linux kernel و Linux kernel.

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

هذا هو جوهر ما فعله Project Treble لتحديثات Android ، ولكن ما هو أكثر أهمية بالنسبة للتطبيق المطورين هنا هو أن Treble قد أتاح استخدام صور النظام العامة (GSIs) للتوافق اختبارات.

ظهور GSIs

لكي يختبر مصنعي المعدات الأصلية ما إذا كانوا قد نفذوا Project Treble بشكل صحيح ، تفرض Google على الشركة المصنعة للمعدات الأصلية أن تكون قادرة على تشغيل بنية نظيفة من Android من AOSP على الجهاز. يُطلق على هذا الإصدار النظيف من Android اسم Generic System Image أو GSI. إذا قام GSI بالتمهيد ومعظم الأجهزة الأساسية تعمل بشكل صحيح ، فعندئذ يعرف OEM أن أجهزتهم تفي بمتطلبات Project Treble. كان الغرض الأولي من GSI هو اختبار التوافق مع Treble ، ولكن كما رأينا مع مجتمع التطوير هنا في XDA-Developers ، يمكن استخدامها لأغراض أخرى. لقد رأينا كيف GSIs يمكن أن تسمح بشكل أساسي للأجهزة التي تعمل بنظام Android UXs بالاستمتاع بأحدث إصدار من Android مع ميزات العمل في غضون أيام من الإصدار الجديد. لكن Google تتصور غرضًا آخر وراء GSI: منح مطوري التطبيقات القدرة على اختبار تطبيقاتهم على إصدار Android جديد على جهاز مادي يمتلكونه بالفعل.

مع Android 10 ، أصدرت Google تصميمات GSI الخاصة بها للمطورين. عززت Google فكرة أن مطوري التطبيقات يجب أن يستخدموا GSI لتشغيل بنية نظيفة من Android على أجهزتهم الخاصة ، مما يسهل اختبار سلوك تطبيقاتهم مقابل الأوراق المالية Android. تمت إضافة هذه الطريقة إلى الخيارات الحالية لاختبار توافق التطبيقات على نظام Android الأساسي دون تغيير سلوك OEM ، والآخرون باستخدام هاتف Pixel الذكي ، أو استخدام محاكي Android الرسمي داخل Android Studio ، أو نشر التطبيقات على مثيل الجهاز على السحابة.

على الرغم من كل وسائل الراحة التي جلبتها GSIs ، إلا أن تركيبها كان لا يزال عملية مرهقة. قد لا يشعر مطورو التطبيقات بالارتياح تجاه وميض صورة النظام يدويًا على جهاز Android لأن هذا شيء عادةً ما يكون الهواة أو مطورو نظام التشغيل Android على دراية به. يتطلب تثبيت GSI وميض صورة النظام عبر fastboot ، الأمر الذي يتطلب تعطيل Android Verified Boot وفتح محمل الإقلاع. يتطلب فتح محمل الإقلاع بدوره مسح بيانات المستخدم بالكامل. وكما نعلم جميعًا ، لا توجد عملية أو دليل واحد بالضبط لإلغاء تأمين أداة تحميل التشغيل لكل جهاز يعمل بنظام Android ، لذلك لا يوجد تناسق يمكن العثور عليه. على سبيل المثال ، لا تحتوي أجهزة Samsung على Fastboot بينما تجعلك أجهزة Xiaomi تقفز عبر بعض الأطواق لإلغاء تأمين أداة تحميل التشغيل. إنها فوضى مريحة لها القدرة على فك الارتباط بشيء أبسط.

هذا هو المكان الذي تأتي فيه تحديثات النظام الديناميكي.

تحديثات النظام الديناميكي ببساطة تثبيت GSIs

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

السبب في أن DSU يمكنه تثبيت GSI دون لمس التثبيت الأصلي هو أنه ينشئ صورًا جديدة لقسم البيانات والنظام والتي يتم تخزينها مؤقتًا في /data/gsi. يتم بعد ذلك تثبيت هذه الصور أثناء التمهيد بدلاً من أقسام النظام والبيانات الأصلية. نظرًا لأن الهاتف يحتاج إلى مساحة تخزين إضافية لهذه الصور المؤقتة الجديدة ، يجب أن يحتوي هاتفك على "أقسام منطقية" على اللوحة ، وهي أقسام يمكن تغيير حجمها ديناميكيًا. الأقسام المنطقية هي نظام جديد لتقسيم مساحة المستخدمين لنظام Android ، وهو أمر إلزامي للأجهزة التي تعمل بنظام Android 10. إذا تم تشغيل جهازك بنظام Android 10 ، فيجب أن يدعم تثبيت GSIs من خلال DSU.

في Android 10 ، كل ما عليك فعله قم بتثبيت GSI عبر DSU هو تغيير خاصية النظام ثم تشغيل DynamicSystemUpdatesInstallationService عن طريق إرسال نية بالمسار إلى GSI كقصد إضافي.

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

DSU Loader في Android 11

DSU Loader هي أداة جديدة موجودة في خيارات المطور في Android 11 والتي تتيح لك ذلك تحميل و ثَبَّتَ أحدث GSI من Google دون الحاجة إلى إدخال أي أوامر fastboot أو ADB. ما عليك سوى النقر على خيار DSU Loader ضمن الإعدادات وسيظهر مربع حوار مع قائمة GSIs المدعومة مباشرة من Google. ستعتمد GSIs المدعومة هذه على نظام التشغيل والبنية الحاليين لديك ، لذا يمكنك فقط تثبيت GSIs الأحدث من إصدار نظام التشغيل لديك والتي تتطابق مع بنية SoC الخاصة بك. ما عليك سوى اختيار GSI الذي تريد تثبيته وسيتم تنزيله من خوادم Google وتثبيته في الخلفية تلقائيًا.

DSU Loader على Android 11

باستخدام DSU Loader ، لا يضطر المطورون مطلقًا إلى لمس سطر الأوامر لتثبيت GSI. على الأقل ، هذا هو الحلم ، لأنه لا تزال هناك مشكلة واحدة يجب حلها.

الطريق الى الامام

حاليًا ، لتثبيت GSI عبر DSU Loader ، فأنت بحاجة إلى أداة تحميل إقلاع غير مؤمنة. في حين أن هذا قد يقضي على الغرض من المحنة بأكملها ، إلا أنه ليس من المفترض أن يكون على هذا النحو ، وقد قيل لنا إنه سيتم إصلاحه. خططت Google للمستخدمين ليكونوا قادرين على تشغيل GSI الموقعة من Google من خلال DSU دون الحاجة إلى إلغاء قفل أداة تحميل التشغيل. في الواقع ، تفرض Google ذلك تشتمل جميع أجهزة التشغيل التي تعمل بنظام Android 10 على المفاتيح العامة لنظام التشغيل Android الذي تم التحقق منه لنظام التشغيل Android 10 و Android 11 و Android 12 GSI الموقعة من Google. سيضمن تضمين مفاتيح AVB العامة في ramdisk للجهاز أن AVB لن يرفض GSI الذي تحاول تشغيله. هذا هو السبب في أن الطريقة الحالية تتضمن إلغاء قفل أداة تحميل التشغيل - عن طريق وميض صورة vbmeta فارغة إلى قسم vbmeta ، تقوم بتعطيل AVB بحيث لا يرفض GSI الذي توشك على وميضه. ومع ذلك ، فإن تعطيل AVB يمثل مخاطرة أمنية كبيرة ، لأنه يعني أن أي تعديل يمكن تحميل قسم النظام / التمهيد / المنتج / البائع على الجهاز ، وهذا هو سبب رغبة Google في القيام بذلك بعيدًا عن هذا المطلب.

متطلبات تشغيل Android 10 GSI

إذن متى تتوقع تشغيل GSI من خلال DSU دون الحاجة إلى إلغاء قفل أداة تحميل التشغيل أو استخدام أي أدوات سطر أوامر؟ نأمل قريبًا ، كما ذكرت Google لنا أن لديهم بعض مكامن الخلل لتسوية مع معاينات مطور Android 11 الأولية قبل أن يتمكنوا من جعل كل هذا يعمل بشكل صحيح. من الآن فصاعدًا ، يمكن للمرء أن يتوقع تثبيت Developer Preview GSIs في المستقبل عبر DSU دون الحاجة إلى إلغاء تأمين أداة تحميل التشغيل. ربما عند إتاحة معاينة مطور Android 12 ، ستتمكن حتى من تشغيله بالكامل باستخدام DSU Loader في خيارات المطور لنظام Android 11. بالنسبة لمطوري التطبيقات ، هذا يعني أنه ستكون هناك طريقة أخرى لك لاختبار تطبيقاتك على الأجهزة المادية التي تعمل بإصدار Android جديد.