التطبيقات الموقَّعة من النظام هي التطبيقات التي تشارك شهادة التوقيع (android
) نفسها (أو شهادة متوافقة) مع حزمة النظام. ويمكن أن يكون التطبيق الموقَّع من النظام هو
تطبيق نظام (موجود في قسم صورة النظام) أو تطبيق غير نظام.
أرقام تعريف المستخدمين المشترَكة الموقَّعة من النظام هي أرقام تعريف مستخدمين مشترَكة (android:sharedUserId
) تحتوي على تطبيقات موقَّعة من النظام. النُسخ القابلة لتصحيح الأخطاء هي النُسخ التي يعرض فيها الرمز البرمجي android.os.Build.isDebuggable()
القيمة true
، مثل النُسخ userdebug
أو eng
.
في السابق، لم يكن بإمكان الشركات المصنّعة للأجهزة التحكّم كثيرًا في التطبيقات غير المخصّصة للنظام والتي تم توقيعها باستخدام توقيع المنصة والتي يمكنها الانضمام إلى رقم تعريف مستخدم مشترَك تم توقيعه باستخدام توقيع المنصة. بدءًا من الإصدار
15 من نظام التشغيل Android، يمكن للمصنعين السماح صراحةً لتطبيقات
غير النظامية الموقَّعة من النظام بالانضمام إلى أرقام تعريف المستخدمين المشترَكة الموقَّعة من النظام في ملفات SYSTEMملف XML لإعدادات النظام في الدليل /etc/permissions
. إذا لم تتم إضافة تطبيق غير برمجي
موقَّع من النظام إلى القائمة المسموح بها لرقم تعريف مستخدم مشترَك موقَّع من النظام، وواصل التطبيق
محاولة الانضمام إلى رقم التعريف المشترَك الموقَّع من النظام (مع android:sharedUserId
في البيان)، لا يمكن تثبيت هذا التطبيق على الإصدارات غير القابلة لتصحيح الأخطاء.
إضافة قائمة مسموح بها
يمكنك إدراج قوائم المسموح بها للتطبيقات في ملف XML واحد أو في ملفات XML متعددة،
على النحو التالي:
frameworks/base/data/etc/package-shareduid-allowlist.xml
:
<!--
This XML defines an allowlist for packages that want to join a particular shared-uid.
If a non-system package that is signed with platform signature, is trying to join a particular
shared-uid, and not in this list, the installation will fail.
- The "package" XML attribute refers to the app's package name.
- The "shareduid" XML attribute refers to the shared uid name.
-->
<config>
<allow-package-shareduid package="android.test.settings" shareduid="android.uid.system" />
</config>
العثور على القائمة المسموح بها غير الظاهرة
للعثور على إدخال مفقود في القائمة المسموح بها، حاوِل تثبيت التطبيق غير المرتبط بالنظام والذي تم توقيعه على النظام على إصدار لا يمكن تصحيح أخطاءه وتحقَّق مما إذا كان لا يزال بإمكانك تثبيته. إذا لم يكن الأمر كذلك، يمكنك فحص سجلات الجهاز بحثًا عن تنسيق رسائل التحذير التالي:
Non-preload app {PACKAGE_NAME} signed with platform signature and joining shared uid: {SHARED_UID_NAME}