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