يعتمد العديد من المستخدمين بشكل كبير على هواتفهم ويحتاجون إلى جهاز عامل على الإطلاق الوقت. ومع ذلك، تنتهي الأجهزة أحيانًا في حلقات إعادة تشغيل، ما يؤدي إلى تقديم تذاكر الدعم أو استفسارات حول الضمان. هذه العملية محبطة للمستخدمين ومكلفًا لدى الشركات المصنّعة للأجهزة ومشغّلي شبكات الجوّال.
يتضمن Android 8.0 ميزة ترسل "عملية إنقاذ" عندما يلاحظ مكونات النظام الأساسية العالقة في حلقات الأعطال. ثم يصعد فريق الإنقاذ من خلال سلسلة من الإجراءات لاسترداد الجهاز. يلجأ فريق الإنقاذ كحلٍ أخير إعادة تشغيل الجهاز في وضع الاسترداد ومطالبة المستخدم بإجراء إعادة تعيين.
لا يتطلب نظام Android ميزات الإنقاذ هذه مستند تعريف التوافق، ولكنّه قد يكون مفيدًا لتقليل طلبات الحصول على الدعم.
التنفيذ
تكون عملية التنفيذ مفعَّلة تلقائيًا في الإصدار Android 8.0 من نظام Android
/services/core/java/com/android/server/RescueParty.java
تتلقّى جهة الإنقاذ معلومات عن أحداث التشغيل والتعطُّل وتبدأ في الحالات التالية:
- تتم إعادة تشغيل System_server أكثر من 5 مرات خلال 5 دقائق.
- يتعطّل تطبيق النظام الدائم أكثر من 5 مرات خلال 30 ثانية.
عند اكتشاف أحد هذه المواقف، يتجه فريق الإنقاذ إلى الطرف الآخر مستوى الإنقاذ، ويعالج المهمة المرتبطة بهذا المستوى، ويسمح للجهاز والمتابعة لمعرفة ما إذا كان يتعافى. يصبح كل مستوى أكثر قوة بشكل تدريجي في وما يتم مسحه أو إعادة ضبطه. يطلب المستوى النهائي من المستخدم إعادة ضبط الجهاز على الإعدادات الأصلية. الخاص بك.
لا تحتاج إلى دعم خاص للأجهزة لدعم Rescue Party. في حال تنفيذه،
أن يستجيب نظام استرداد الجهاز
يجب أن يتم تشغيل الأمر --prompt_and_wipe_data
والأجهزة
طريقة للمستخدمين لتأكيد أي تدمير لبيانات المستخدم قبل
المتابعة. يجب أن يمنح نظام الاسترداد المستخدم أيضًا خيار
محاولة تشغيل أجهزتهم مرة أخرى.
لأنّ كل مستوى إنقاذ يمكن أن يضيف ما يصل إلى 5 دقائق قبل تشغيل الجهاز يجب ألا تضيف الشركات المصنّعة للأجهزة مستويات إنقاذ مخصّصة. زيادة الوقت باستخدام جهاز غير قابل للتشغيل، من المرجح أن يبدأ المستخدمون في تقديم الدعم أو الاستفسار عن الضمان بدلاً من استرداد الجهاز ذاتيًا.
التحقُّق
يتم منع جميع أحداث الإنقاذ عندما يحتوي الجهاز على بيانات USB نشطة. الاتصال لأن هذه إشارة قوية على أن شخصًا ما يصحح أخطاء الجهاز.
لتجاوز عملية الإيقاف هذه، شغِّل:
adb shell setprop persist.sys.enable_rescue 1
من هناك، يمكنك تشغيل حلقة أعطال النظام أو واجهة المستخدم.
لتشغيل حلقة أعطال system_server
منخفضة المستوى، شغِّل:
adb shell setprop debug.crash_system 1
لتشغيل حلقة أعطال SystemUI ذات المستوى المتوسط، شغِّل:
adb shell setprop debug.crash_sysui 1
تبدأ حلقات الأعطال في منطق الإنقاذ. تتم أيضًا جميع عمليات الإنقاذ
تسجيل الدخول إلى سجلات PackageManager الدائمة المخزنة على
/data/system/uiderrors.txt
للفحص لاحقًا وتصحيح الأخطاء.
ويتم تضمين هذه السجلات الدائمة أيضًا في كل تقرير خطأ ضمن قسم "حزمة
رسائل تحذيرية" .