تتيح ميزة "الملفّ الموقَّع" تضمين إعدادات قيود واجهة غير حزمة تطوير البرامج (SDK) في حِزم APK. ويسمح هذا الإجراء بإزالة واجهات محددة غير متوفرة في حزمة SDK من القائمة السوداء، للسماح لنظام AndroidX باستخدامها بأمان. يتيح ذلك لفريق AndroidX إضافة الدعم للميزات الجديدة في إصدارات Android التي سبق طرحها. من المهم متاحة في نظام التشغيل Android 10 والإصدارات الأحدث.
يضمن توفير ميزة "الإعداد الموقَّع" بشكل صحيح أن تعمل مكتبات AndroidX بشكل صحيح على الأجهزة في المستقبل.
لا يمكن تخصيص هذه الميزة. وهي متوافقة بالكامل مع بروتوكول AOSP لا تتطلّب أي جهد من المصنّع الأصلي للجهاز لدعمها.
الأمثلة والمصدر
يتم تنفيذ الميزة في خادم النظام على
frameworks/base/services/core/java/com/android/server/signedconfig
يتضمّن اختبار CTS
CtsSignedConfigHostTestCases
مثالاً على الاستخدام ومثالاً على
الضبط في
cts/hostsidetests/signedconfig/app/version1_AndroidManifest.xml
.
التنفيذ
لا حاجة إلى تقديم أيّ جهد لدعم هذه الميزة، ولا نحتاج إلى أجهزة محدّدة. متطلبات المشروع.
تستخدم هذه الميزة مفتاحين للبيانات الوصفية للتطبيق لتضمين التهيئة
التوقيع داخل حزم APK. هذان المفتاحان هما android.settings.global
و
android.settings.global.signature
. إذا كانت مكتبات AndroidX تتطلّب في المستقبل إزالة واجهتَي برمجة التطبيقات غير المضمّنتَين في حزمة SDK من القائمة السوداء أو في حال إزالة هذه الواجهات، سينشر فريق Android و/أو فريق AndroidX قيم مفاتيح التشفير هذه.
يحتوي مفتاحا البيانات الوصفية لملف APK، وهما android.settings.global
و
android.settings.global.signature
، على بيانات بترميز base-64. القيمة
للمفتاح android.settings.global
هي قيم إعداد بترميز JSON سيتم تطبيقها على
الإعدادات العامة في SettingsProvider
. قيمة
السمة android.settings.global.signature
هي توقيع ECDSA-p256 لبيانات JSON.
ويُستخدَم التوقيع للتحقّق من مصدر بيانات الضبط.
الميزة غير مرئية للمستخدم.
التخصيص
هذه الميزة غير مخصّصة للتخصيص. لا يُنصح المصنّعين الأصليين للأجهزة تعديل الميزة، بما في ذلك استبدال المفاتيح. ومن المرجّح أن تؤدي أي تغييرات تطرأ عليه إلى عدم عمل AndroidX بشكل صحيح على الأجهزة المتأثرة في المستقبل.
التحقُّق
يتحقّق اختبار CTS CtsSignedConfigHostTestCases
من تنفيذ الميزة.
يمكنك أيضًا اختبار الميزة يدويًا من خلال تثبيت حزمة APK مناسبة وexaminedفحص adb logcat
الناتج:
$ adb install CtsSignedConfigTestAppV1.apk
...
$ adb logcat
...
I SignedConfig: Verified config using production key
...