साइन किया गया कॉन्फ़िगरेशन लागू करें

साइन किए गए कॉन्फ़िगरेशन की सुविधा, बिना SDK टूल वाले इंटरफ़ेस की पाबंदियों के कॉन्फ़िगरेशन को एम्बेड करने की अनुमति देती है APK में उपलब्ध है. इससे ब्लैकलिस्ट से बिना SDK टूल वाले खास इंटरफ़ेस हटाए जा सकते हैं AndroidX को उनका सुरक्षित रूप से उपयोग करने की अनुमति देती है. इससे AndroidX टीम को सहायता टीम से संपर्क करने की अनुमति मिलती है रिलीज़ किए जा चुके Android वर्शन की नई सुविधाओं के बारे में ज़्यादा जानें. हां Android 10 और उसके बाद के वर्शन पर काम करता है.

साइन किए गए कॉन्फ़िगरेशन के सही तरीके से काम करने से यह पक्का होता है कि AndroidX लाइब्रेरी ये काम करने के लिए बनाए गए हैं.

इस सुविधा को पसंद के मुताबिक नहीं बनाया जा सकता. यह AOSP में पूरी तरह से काम करता है और इसे सपोर्ट करने के लिए OEM को कोई कोशिश नहीं करनी होगी.

उदाहरण और सोर्स

सुविधा लागू करने की प्रक्रिया सिस्टम सर्वर में frameworks/base/services/core/java/com/android/server/signedconfig. सीटीएस टेस्ट 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 दोनों में, बेस-64 से कोड में बदला गया डेटा शामिल है. वैल्यू कुंजी android.settings.global के लिए, JSON-एन्कोडेड कॉन्फ़िगरेशन वैल्यू पर लागू की जानी है SettingsProvider में ग्लोबल सेटिंग. इसके लिए मान android.settings.global.signature, JSON डेटा का ECDSA-p256 हस्ताक्षर है. हस्ताक्षर का इस्तेमाल कॉन्फ़िगरेशन डेटा के ऑरिजिन की पुष्टि करने के लिए किया जाता है.

यह सुविधा लोगों को नहीं दिख रही है.

पसंद के मुताबिक बनाएं

इस सुविधा को पसंद के मुताबिक बनाने के लिए नहीं बनाया गया है. OEM को इससे मना किया जाता है सुविधा में बदलाव करने के साथ-साथ, कुंजियों को बदलना. इसमें हुए किसी भी बदलाव को इस समस्या की वजह से AndroidX उन डिवाइसों पर ठीक से काम नहीं करेगा जिन पर असर पड़ा है आने वाले समय में इस्तेमाल करें.

पुष्टि करें

सीटीएस टेस्ट CtsSignedConfigHostTestCases की मदद से, इस बात की पुष्टि की जाती है कि सुविधा लागू की गई है या नहीं.

आप सही APK इंस्टॉल करके और मैन्युअल तरीके से भी इस सुविधा की जांच कर सकते हैं adb logcat आउटपुट की जांच की जा रही है:

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