اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release
بدلاً من aosp-main
لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
اختبار إدارة الأجهزة
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
لضمان الحد الأدنى من التوافق مع الملفات الشخصية المُدارة، يجب أن تحتوي أجهزة المصنّعين الأصليّين للأجهزة على
العناصر الأساسية التالية:
للحصول على قائمة كاملة بالمتطلبات، راجِع مقالة تنفيذ إدارة
الأجهزة. لاختبار ميزات إدارة الأجهزة، يمكن لمالكي الأجهزة
استخدام تطبيق TestDPC الموضّح أدناه.
إعداد حساب مالك الجهاز للاختبار
اتّبِع التعليمات التالية لإعداد بيئة اختبار خاصة بمالك الجهاز.
- أعِد ضبط الجهاز المستهدَف على الإعدادات الأصلية.
- تأكَّد من أنّ الجهاز لا يحتوي على أي حسابات مستخدمين (على سبيل المثال، تلك المستخدَمة لتسجيل
الدخول إلى الخدمات على الإنترنت). للتحقّق من ذلك، انتقِل إلى الإعدادات > الحسابات.
- يمكنك إعداد تطبيق الاختبار باستخدام إحدى الطريقتَين التاليتَين:
- اضبط تطبيق TestDPC على أنّه مالك الجهاز باستخدام الأمر التالي:
adb shell dpm set-device-owner "com.afwsamples.testdpc/.DeviceAdminReceiver"
- اتّبِع خطوات إعداد حساب مالك الجهاز على الجهاز (التشفير واختيار شبكة Wi-Fi).
إثبات ملكية الجهاز
للتأكّد من أنّه تم إعداد حساب مالك الجهاز بشكلٍ صحيح، انتقِل إلى الإعدادات >
الأمان > مشرفي الجهاز وتأكَّد من أنّ TestDPC مُدرَج في
القائمة. تأكَّد من أنّه لا يمكن إيقافه (يشير ذلك إلى أنّه مالك الجهاز).
تقارير الأخطاء والسجلّات
اعتبارًا من الإصدار 7.0 من Android، يمكن لبرنامج "إدارة سياسة الجهاز" (DPC) التابع لمالك الجهاز الحصول على تقارير تتعلّق بالأعطال وعرض سجلات عمليات المؤسسة على جهاز مُدار.
لإنشاء تقرير أخطاء (أي البيانات المكافئة التي يجمعها
adb bugreport
والتي تحتوي على dumpsys
وdumpstate و datalogcat)، استخدِم DevicePolicyController.requestBugReport
. بعد جمع
تقرير الخطأ، يُطلب من المستخدم تقديم موافقته على إرسال data
تقرير الخطأ. يتم استلام النتائج من
DeviceAdminReceiver.onBugreport[Failed|Shared|SharingDeclined]
. للاطّلاع على
التفاصيل حول محتوى تقارير الأخطاء، يُرجى الاطّلاع على مقالة
قراءة تقارير الأخطاء.
بالإضافة إلى ذلك، يمكن لمسؤولي "إدارة الخدمات في الجهاز" التابعين لمالك الجهاز أيضًا جمع السجلات ذات الصلة بالإجراءات التي اتّخذها
المستخدم على جهاز مُدار. يجب تسجيل عمليات Enterprise في
جميع الأجهزة التي تُبلغ عن device_admin ويتم تفعيلها من خلال وحدة تخزين مؤقتة جديدة لأمان السجلّ
لا يمكن لخادم النظام قراءتها إلا (أي أنّه$ adb logcat -b security
لا يمكنه قراءة وحدة التخزين المؤقتة). تسجِّل خدمة ActivityManager ومكونات Keyguard الجدول التالي من الأحداث في ذاكرة التخزين المؤقت للأمان:
- بدء عمليات تقديم الطلبات
- إجراءات قفل الشاشة (مثل حالات تعذُّر فتح القفل ونجاحه)
adb
الأوامر الصادرة إلى الجهاز
للاحتفاظ بالسجلات اختياريًا أثناء عمليات إعادة التشغيل (وليس التشغيل من خلال إعادة ضبط المصنع) وإتاحة هذه السجلّات
لطلبات بيانات المستخدم النهائي (DPC) الخاصة بمالك الجهاز، يجب أن يتضمّن الجهاز نواة مزوّدة بميزة
pstore
وpmsg
مفعّلتين، وأن يكون ذاكرة الوصول العشوائي (DRAM) مفعّلة ومُجدَّدة خلال جميع مراحل إعادة التشغيل لتجنُّب تلف السجلّات المحفوظة
في الذاكرة. لتفعيل الدعم، استخدِم الإعداد
config_supportPreRebootSecurityLogs
في
frameworks/base/core/res/res/values/config.xml
.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Test device management\n\nTo ensure minimal support for managed profiles, OEM devices must contain the\nfollowing essential elements:\n\n- Profile owner (as described in [Ensuring\n Compatibility with Managed Profiles](https://developer.android.com/training/enterprise/app-compatibility.html))\n- Device owner\n\nFor a complete list of requirements, see\n[Implement device\nmanagement](/docs/devices/admin/implement). To test device management features, device owners can\nuse the TestDPC application described below.\n\nSet up device owner for testing\n-------------------------------\n\nUse the following instructions to set up a device owner testing environment.\n\n1. Factory reset the target device.\n2. Ensure the device does not contain any user accounts (for example, those used to log into online services). To verify, check *Settings \\\u003e Accounts*.\n3. Set up the testing application using one of the following methods:\n - [Download\n the TestDPC application](https://play.google.com/store/apps/details?id=com.afwsamples.testdpc&hl=en) (available from Google Play).\n - [Build\n the TestDPC application](https://github.com/googlesamples/android-testdpc/) (available from github.com).\n4. Set the TestDPC app as the device owner using the following command: \n\n ```\n adb shell dpm set-device-owner \"com.afwsamples.testdpc/.DeviceAdminReceiver\"\n ```\n5. Go through device owner setup on the device (encrypt, select Wi-Fi).\n\nVerify device owner setup\n-------------------------\n\nTo verify the device owner was correctly setup, go to *Settings \\\u003e\nSecurity \\\u003e Device Administrators* and confirm TestDPC is in the\nlist. Verify it cannot be disabled (this signifies it is a device owner).\n\nBug reports and logs\n--------------------\n\nAs of Android 7.0, device owner Device Policy Client (DPCs) can get bug\nreports and view logs for enterprise processes on a managed device.\n\nTo trigger a bug report (that is, the equivalent data collected by\n`adb bugreport` containing `dumpsys`, dumpstate, and\nlogcat data), use `DevicePolicyController.requestBugReport`. After\nthe bug report is collected, the user is prompted to give consent to send the\nbug report data. Results are received by\n`DeviceAdminReceiver.onBugreport[Failed|Shared|SharingDeclined]`. For\ndetails on bug report contents, see\n[Reading bug reports](/docs/setup/read-bug-reports).\n\nIn addition, device owner DPCs can also collect logs related to actions a\nuser has taken on a managed device. Enterprise process logging is required for\nall devices that report device_admin and enabled by a new log security buffer\nreadable only by the system server (that is, `$ adb logcat -b security`\ncannot read the buffer). ActivityManager service and Keyguard components log the\nfollowing events to the security buffer:\n\n- Application processes starting\n- Keyguard actions (for example, unlock failure and success)\n- `adb` commands issued to the device\n\nTo optionally retain logs across reboots (not cold boot) and make these logs\navailable to device owner DPCs, a device must have a kernel with\n`pstore` and `pmsg` enabled, and DRAM powered and\nrefreshed through all stages of reboot to avoid corruption to the logs retained\nin memory. To enable support, use the\n`config_supportPreRebootSecurityLogs` setting in\n`frameworks/base/core/res/res/values/config.xml`."]]