این صفحه دستورالعملهایی را برای تولیدکنندگان دستگاه جهت فعالسازی مدیریت دستگاه در اندروید شرح میدهد. برای پشتیبانی از مدیریت دستگاه، دستگاهها باید تمام الزامات سازگاری نرمافزار تعریفشده در بخش ۳.۹ را برآورده کنند. مدیریت دستگاه در سند تعریف سازگاری اندروید (CDD) . دستورالعملهای پیادهسازی ارائه شده در اینجا جامع نیستند و فقط به عنوان نقطه شروع برای پیادهسازی مدیریت دستگاه اندروید عمل میکنند.
Enable device management
برای فعال کردن مدیریت دستگاه در اندروید، این ویژگیها را فعال کنید:
-
android.software.device_admin -
android.software.managed_users
برای تأیید اینکه یک دستگاه از مدیریت دستگاه پشتیبانی میکند، دستور adb زیر را روی دستگاه اجرا کنید و تأیید کنید که این ویژگیها وجود دارند: adb shell pm list features .
الزامات راهاندازی
دستگاههایی که ارائه مالکیت دستگاه یا مالک پروفایل را پیادهسازی میکنند، باید در طول راهاندازی (تجربه خارج از چارچوب یا تنظیم پروفایل کاری) افشای مناسبی را به کاربران نهایی ارائه دهند. AOSP یک پیادهسازی مرجع ارائه میدهد. ارائه مدیریتشده، جریان رابط کاربری چارچوب اندروید است که در طول راهاندازی کامل دستگاه مدیریتشده یا پروفایل کاری فراخوانی میشود تا اطمینان حاصل شود که کاربران دستگاه به اندازه کافی از پیامدهای تنظیم مالک دستگاه یا پروفایل مدیریتشده روی دستگاه مطلع هستند. ارائه مدیریتشده فعالیتهای زیر را انجام میدهد یا آنها را در طول راهاندازی به یک دارنده نقش مدیریت سیاست دستگاه واگذار میکند:
- دستگاه را رمزگذاری میکند (در صورت فعال بودن رمزگذاری).
- یک کاربر مدیریتشده ایجاد میکند.
- برنامههای اختیاری را غیرفعال میکند.
- برنامهی کنترلکنندهی سیاست دستگاه (DPC) مدیریت تحرک سازمانی (EMM) را به عنوان مالک دستگاه یا مالک نمایه تنظیم میکند.
به نوبه خود، برنامه DPC فعالیتهای زیر را انجام میدهد:
- حسابهای کاربری اضافه میکند.
- انطباق با سیاستهای دستگاه را اعمال میکند.
- هر برنامه سیستمی اضافی را فعال میکند.
پس از تکمیل فرآیند تأمین، کنترلکنندهی اینتنت ADMIN_POLICY_COMPLIANCE برنامهی DPC در کاربر دستگاه کاملاً مدیریتشده (برای تأمین مالک دستگاه ) یا در کاربر پروفایل کاری (برای تأمین مالک پروفایل ) اجرا میشود. سپس برنامهی DPC حسابها را اضافه کرده و سیاستها را اعمال میکند.
الزامات پرتابگر
برای پشتیبانی از مدیریت دستگاه، لانچر باید از نشانگذاری برنامهها با نشانهای آیکون کاری (که در AOSP برای نمایش برنامههای مدیریتشده ارائه شده است) پشتیبانی کند. سایر عناصر رابط کاربری در دستگاهها یا پروفایلهای مدیریتشده، مانند اعلانها، باید از داراییهای نشانگذاریشده با کار استفاده کنند. لانچر۳ در AOSP از قبل از این ویژگیهای نشانگذاری پشتیبانی میکند.
برنامههای کاری پیشفرض
به طور پیشفرض، فقط برنامههای ضروری برای عملکرد صحیح یک دستگاه مدیریتشده یا نمایه کاری به عنوان بخشی از تأمین سازمانی اندروید فعال میشوند. تولیدکنندگان دستگاه میتوانند لیستی از برنامههای پیشفرض را با استفاده از این فایلهای XML مشخص کنند:
-
vendor_required_apps_managed_profile.xml -
vendor_required_apps_managed_device.xml -
vendor_required_apps_managed_user.xml
پس از آمادهسازی دستگاه، مدیران فناوری اطلاعات میتوانند از کنسول EMM یا مدیریتشدهی گوگل پلی برای اضافه کردن هرگونه برنامهی اضافی که توسط سازمان ضروری تشخیص داده شود، استفاده کنند.
در هر دو حالت مالک دستگاه (دستگاه کاملاً مدیریتشده) و مالک پروفایل (پروفایل کاری):
- برنامههایی که آیکونهای لانچر ندارند، اجزای حیاتی سیستم محسوب میشوند و بهطور خودکار توسط اندروید فعال میشوند.
- برنامههایی که آیکونهای لانچر دارند را میتوان به طور پیشفرض در طول آمادهسازی دستگاه با اجازه دادن به فهرست کردن نام بستههایشان در
vendor_required_apps_managed_[device|profile|user].xml filesفعال کرد. - تمام برنامههای دیگر هنگام آمادهسازی دستگاه بهطور خودکار غیرفعال میشوند.
پیادهسازی مالک دستگاه در دستگاههای پیکربندیشده با کاربر سیستم بدون سر
اندروید ۱۴ (سطح API ۳۴) پیکربندی حالت کاربر سیستم بدون سر (headless system user mode) را معرفی میکند که در آن کاربر سیستم، کاربر پسزمینه و کاربران پیشزمینه، کاربران ثانویه هستند. از آنجا که عملکرد مالک دستگاه به طور سنتی به حضور کاربر سیستم در پیشزمینه متکی است، پیکربندی کاربر سیستم بدون سر چالشهای منحصر به فردی را برای دستگاههای کاملاً مدیریتشده (تأمین توسط مالک دستگاه) به همراه دارد.

شکل ۱. حالت کاربری سیستم بدون سر.
در یک دستگاه حالت کاربر سیستم بدون سر، یک برنامه کنترلکننده سیاست دستگاه (DPC) تنها در صورتی میتواند به عنوان مالک دستگاه تنظیم شود که از حالت وابسته ( HEADLESS_DEVICE_OWNER_MODE_AFFILIATED ) پشتیبانی کند. سیستم با فراخوانی getHeadlessDeviceOwnerMode() بررسی میکند که آیا حالت وابسته پشتیبانی میشود یا خیر. بسته به اینکه آیا برنامه DPC از حالت وابسته پشتیبانی میکند یا خیر، تأمین دستگاه بر این اساس انجام میشود.