وضع "مفعِّل الاختبار" هو ميزة تمت إضافتها في Android 10 لأجل مطوّري التطبيقات الخارجية الذين يريدون برمجة جهاز أو مجموعة من الأجهزة. توفّر الميزة طريقة لمحو جميع بيانات المستخدمين على جهاز Android، والاحتفاظ بمفاتيح ADB، وتخطّي جميع شاشات الإعداد لأول مرة. يتيح ذلك للمستخدم إجراء اختبار واجهة المستخدم فور بدء التشغيل بدون أي تفاعل يدوي.
التخصيص
يمكنك تحديد ما إذا كان الجهاز في "وضع مفعِّل الاختبار" من خلال التحقّق من
ActivityManager.isRunningInUserTestHarness()
. حاوِل الحدّ من التخصيصات إلى أدنى مستوى ممكن،
واقتصر على إجراءات مثل تخطّي شاشات الإعداد (على لوحة المفاتيح أو معالج الإعداد) التي قد تؤدي إلى تعذُّر إجراء اختبارات واجهة المستخدم أو تتطلّب تفاعلاً يدويًا.
التنفيذ
يتم تنفيذ PersistentDataBlockManagerInternal
تلقائيًا في PersistentDataBlockService
.
يتم تنفيذ "وضع مفعّل الاختبار" في TestHarnessModeService
.
يستخدم التنفيذ التلقائي لوضع "مفعِّل اختبار" آلية التخزين نفسها التي تستخدمها ميزة "الحماية من إعادة الضبط على الإعدادات الأصلية" لتخزين مفاتيح adb مؤقتًا في قسم ثابت. إذا تمّت إضافة قسم ثابت يتضمّن ميزة "توفير الحماية بعد إعادة الضبط على الإعدادات الأصلية" إلى الجهاز التجريبي، لن تحتاج إلى بذل مجهود كبير أو أي مجهود على الإطلاق لتوفير هذه الميزة.
على الشركات المصنّعة للأجهزة الأصلية التي لم تُعدّ قسمًا ثابتًا تنفيذ
PersistentDataBlockManagerInternal
قبل تشغيل
TestHarnessModeService
.
التحقّق من حالة "وضع مفعّل الاختبار"
عند تفعيل وضع "مفعّل الاختبار"، تعرض الدالة ActivityManager.isRunningInUserTestHarness()
القيمة true
.
تشغيل وضع "مفعّل الاختبار"
يؤدي تفعيل وضع "مفعّل الاختبار" إلى محو جميع البيانات من الجهاز وإعداده للاختبار. وهذا يعني أنّه يتم تلقائيًا إيقاف جميع أجزاء الجهاز التي يمكن أن تتداخل مع الاختبار (مثل المزامنة التلقائية للحسابات والتحقّق من الحِزم والتحديثات التلقائية)، ولكن يمكن للمستخدم إعادة تفعيلها.
نفِّذ الأمر adb
لتفعيل وضع "مفعّل الاختبار":
adb shell cmd testharness enable