«حالت مهار آزمایشی» ویژگیای است که در Android 10 برای توسعهدهندگان برنامه طرف سوم که میخواهند دستگاه یا مجموعهای از دستگاهها را خودکارسازی کنند اضافه شده است. این ویژگی روشی برای پاک کردن همه دادههای کاربر در دستگاه Android، حفظ کلیدهای ADB، و رد شدن از همه صفحههای راهاندازی اولیه ارائه میدهد. این کار به کاربر امکان میدهد بلافاصله پساز راهاندازی، آزمایش واسط کاربر را بدون هیچگونه تعامل دستی اجرا کند.
سفارشیسازی
با بررسی
ActivityManager.isRunningInUserTestHarness() میتوانید تعیین کنید دستگاه در «حالت مجموعه دادههای تست» است یا نه. سفارشیسازیها را به حداقل برسانید؛
آنها را به مواردی مثل رد کردن صفحههای راهاندازی (در صفحهکلید یا دستیار راهاندازی) که باعث ازکار افتادن
آزمایشهای واسط کاربر میشود یا به تعامل دستی نیاز دارد محدود کنید.
پیادهسازی
پیادهسازی پیشفرض PersistentDataBlockManagerInternal
در PersistentDataBlockService است.
«حالت مجموعه دادههای تست» در TestHarnessModeService پیادهسازی شده است.
پیادهسازی پیشفرض «حالت ابزار آزمایش» از همان سازوکار ذخیرهسازی «محافظت دربرابر بازنشانی کارخانهای» برای ذخیره موقت کلیدهای adb در یک پارتیشن ماندگار استفاده میکند. اگر پارتیشن پایداری با محافظت پساز بازنشانی کارخانهای ازقبل در دستگاه آزمایشی پیادهسازی شده باشد، برای پشتیبانی از این ویژگی به کار زیادی نیاز نیست یا اصلاً نیازی نیست.
سازندگان اصلی محصولی که پارتیشن پایداری راهاندازی نکردهاند باید
PersistentDataBlockManagerInternal را قبلاز اجرای
TestHarnessModeService پیادهسازی کنند.
وضعیت «حالت مجموعه دادههای تست» را بررسی کنید
وقتی «حالت مجموعه دادههای تست» فعال باشد،
ActivityManager.isRunningInUserTestHarness() مقدار true را برمیگرداند.
اجرای «حالت مجموعه دادههای تست»
فعال کردن «حالت مهار آزمایشی» همه دادههای دستگاه را پاک میکند و دستگاه را برای آزمایش آماده میکند. این یعنی همه بخشهای دستگاه که میتوانند در آزمایش اختلال ایجاد کنند (مثل همگامسازی خودکار حسابها، درستیسنجی بسته، و بهروزرسانیهای خودکار) بهطور پیشفرض غیرفعال هستند اما کاربر میتواند آنها را دوباره فعال کند.
برای فعال کردن «حالت مجموعه دادههای تست»، فرمان adb را اجرا کنید:
adb shell cmd testharness enable