[التحديث 2: تم الإصلاح] تؤدي خلفية الشاشة هذه إلى حدوث خطأ نادر يتسبب في تشغيل أجهزة Android

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

التحديث 2 (08/03/2020 الساعة 3:03 مساءً بالتوقيت الشرقي): من خلال تصحيحات أمان Android لشهر أغسطس 2020، قامت Google بتحديث Android لإصلاح هذا الخطأ. يمكن العثور على مزيد من التفاصيل في الأسفل.

التحديث 1 (06/04/2020 الساعة 03:12 صباحًا بالتوقيت الشرقي): ظهرت تفسيرات أحدث حول أسباب تعطل "الخلفية الملعونة" للهواتف، إلى جانب رد من جوجل. قم بالتمرير إلى الأسفل لمزيد من المعلومات. المقالة كما نشرت بتاريخ 1 يونيو 2020 محفوظة أدناه.

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

تمت مشاركة الخلفية مؤخرًا على تويتربواسطة مشهور

سامسونج المسرب Ice Universe، الذي ادعى أن خلفية الشاشة "ستتسبب في تعطل هاتفك!" على الرغم من تحذيرهم، عدة قام المستخدمون بتنزيل خلفية الشاشة للتحقق مما إذا كانت قد فعلت أي شيء بالفعل على هواتفهم وقد قوبلوا بما يلي نتائج:

وفقًا لـ Davide Bianco، المطور الرئيسي للمنصة المستندة إلى AOSP مدمج مخصص "POSP"، تتسبب هذه الخلفية المحددة في تعطل بعض أجهزة Android لأنها تستخدم مساحة ألوان RGB، بدلاً من مساحة ألوان sRGB المدعومة أصلاً على Android. بيانكو لديه قدم التصحيح إلى AOSP الذي يقال إنه يعمل على إصلاح المشكلة وينص وصف التصحيح على أن "المشكلة تحدث عندما يحاول المستخدم تعيين صورة ليست بتنسيق sRGB كخلفية. ما يحدث هو أن قيمة المتغير y أعلى من حدود الرسم البياني، مما يؤدي إلى تعطل SysUI. أحد الحلول الممكنة هو تحديد قيمة y لتكون دائمًا أقل من 256." جنبًا إلى جنب مع Bianco، مطوران، عضو كبير في XDA BadDaemon ومطور XDA المعترف به luca020400، من فريق ROM المخصص لنظام LineageOS الشهير، توصل أيضًا إلى حل فريد للمشكلة. يمكنك التحقق من أوصاف التصحيح على LineageOS Gerrit باتباع الخطوات التالية هذا الرابط و هذا الرابط.

نوصي بشدة بعدم استخدام هذه الصورة كخلفية للشاشة تحت أي ظرف من الظروف. إذا كنت قد استخدمته بالفعل وكان جهازك عالقًا في عملية التشغيل، فيرجى التحقق من الإرشادات أدناه حول كيفية استرداد جهازك.

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

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


التحديث 1: شرح جديد، استجابة من Google

التوسع في أسباب الخطأ كما أوضح عضو XDA الأول BadDaemon ومطور XDA المعترف به luca020400، يتم ترميز خلفية الشاشة "الملعونة" في مساحة ألوان خاصة تسمى "Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126" (هذا هو الاسم الكامل لمساحة الألوان، وتشير Skia إلى مكتبة رسومات ثنائية الأبعاد من إنتاج جوجل.) في المقابل، يتم ترميز معظم صور الخلفيات الأخرى في مساحة لونية تسمى "sRGB".

في إصدارات Android 10 والإصدارات الأقدم، يتم تحويل جميع الصور إلى sRGB ما لم يحدد المطورون خلاف ذلك. هناك خطأ نادر يمكن أن يحدث عند تحويل الصورة إلى sRGB، حيث يتمكن الكود الذي يحسب قيمة "النصوع" لكل بكسل من تجاوز الحد الأقصى البالغ 255.

يتم حساب النصوع باستخدام الصيغة التالية:

النصوع = .2126f * r + .7152f * g + .0722f * b

هنا "r" و"g" و"b" هي قيم الألوان الأحمر والأخضر والأزرق ممثلة بقيمة 8 بت من 0 إلى 255.

المشكلة في هذا الحساب هي أن كل جزء يتم تقريبه دائمًا قبل الجمع النهائي. إحدى وحدات البكسل الموجودة في خلفية الشاشة "الملعونة"، أثناء عملية تحويل الصورة من sRGB ثم إلى التدرج الرمادي، يحتوي على قيم RGB التالية: 255، 255، 243، والتي عند توصيلها بالمعادلة أعلاه تبدو يحب:

ص: .2126 * 255 = 54.213 => 55

ز: .7152 * 255 = 182.376 => 183

ب: .0722 * 255 = 18.411 => 19

النصوع = ص + ز + ب = 257

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

لا يؤثر هذا الخطأ على Android 11 لأن مساحة الألوان "Skia" للصورة لا يتم تحويلها إلى sRGB بشكل افتراضي. وبالتالي، لا يحدث خطأ تحويل مساحة اللون وخطأ التقريب في Android 11.

ومع ذلك، قال رومان جاي من فريق Android Toolkit في Google ويعتقد أن السبب الجذري لهذه القضية يتم ذلك فقط في طريقة حساب النصوع وليس في أي مشكلات في تحويل مساحة اللون. تجري Google اختباراتها الداخلية الخاصة، لذلك من المحتمل أن نرى ما سيتوصلون إليه قريبًا.

تم تحديث هذا التفسير لتوضيح أن إحدى وحدات البكسل الموجودة في خلفية الشاشة "الملعونة" هي سبب هذا الخطأ المحدد في حساب تقريب النصوع. وأوضحنا أيضًا أن التقريب يحدث أثناء كل خطوة من خطوات حساب النصوع وليس في النهاية.


التحديث 2: تم إصلاحه في تصحيحات أغسطس 2020

التصحيحات الأمنية لنظام Android لشهر أغسطس لقد بدأ البث المباشر للتوومطور XDA المعترف به luca020400 رصدت أ الالتزام في AOSP الذي يدمج إصلاحًا لخلل ورق الحائط هذا.