تنفيذ الإعدادات الموقَّعة

تتيح ميزة "الضبط الموقَّع" (Signed Config) ضبط تضمين قيود الواجهة غير المتوفرة في حزمة SDK. في ملفات APK. ويسمح هذا الإجراء بإزالة واجهات محددة غير متوفرة في حزمة SDK من القائمة السوداء، للسماح لنظام AndroidX باستخدامها بأمان. يتيح ذلك لفريق AndroidX إضافة الدعم للميزات الجديدة في إصدارات Android التي سبق طرحها. من المهم متاحة في نظام التشغيل Android 10 والإصدارات الأحدث.

ويضمن التوافق الصحيح مع ميزة Signed Config أنّ مكتبات 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 مناسبة فحص ناتج adb logcat:

$ adb install CtsSignedConfigTestAppV1.apk
...
$ adb logcat
...
I SignedConfig: Verified config using production key
...