प्लैटफ़ॉर्म पर साइन किए गए, शेयर किए गए यूआईडी की सूची

प्लैटफ़ॉर्म से साइन किए गए ऐप्लिकेशन, वे ऐप्लिकेशन होते हैं जिनके पास एक ही या साथ काम करने वाले साइन इन क्रेडेंशियल होते हैं प्लैटफ़ॉर्म पैकेज (android) वाला सर्टिफ़िकेट. प्लैटफ़ॉर्म पर हस्ताक्षर किए गए ऐप्लिकेशन कोई सिस्टम ऐप्लिकेशन (सिस्टम इमेज पार्टीशन में मौजूद) या कोई नॉन-सिस्टम ऐप्लिकेशन. प्लैटफ़ॉर्म पर हस्ताक्षर किए गए यूआईडी, शेयर किए गए यूआईडी (android:sharedUserId) होते हैं जो प्लैटफ़ॉर्म पर हस्ताक्षर किए गए ऐप्लिकेशन नहीं होने चाहिए. डीबग किए जा सकने वाले बिल्ड ऐसे बिल्ड होते हैं जिनके android.os.Build.isDebuggable() रिटर्न true, जैसे कि userdebug या eng बिल्ड.

अब तक, डिवाइस बनाने वाली कंपनियों का इस पर बहुत कम कंट्रोल था कि किस प्लैटफ़ॉर्म पर सिस्टम से बाहर के ऐप्लिकेशन, प्लैटफ़ॉर्म से साइन किए गए शेयर किए गए यूआईडी में शामिल हो सकते हैं. Android में शुरू हो रहा है 15. मैन्युफ़ैक्चरर, प्लैटफ़ॉर्म पर हस्ताक्षर की सुविधा इस्तेमाल करने की अनुमति साफ़ तौर पर दे सकते हैं सिस्टम कॉन्फ़िगरेशन में प्लैटफ़ॉर्म से साइन किए गए शेयर किए गए यूआईडी को जोड़ने के लिए नॉन सिस्टम ऐप्लिकेशन /etc/permissions डायरेक्ट्री में एक्सएमएल फ़ाइलें. अगर प्लैटफ़ॉर्म से साइन किया गया कोई सिस्टम नहीं है, तो ऐप्लिकेशन को प्लैटफ़ॉर्म से साइन किए गए यूआईडी के लिए, अनुमति वाले ऐप्लिकेशन की सूची में नहीं जोड़ा गया. यह अब भी प्लैटफ़ॉर्म पर हस्ताक्षर किए गए यूआईडी (android:sharedUserId के साथ) में शामिल होने की कोशिश करता है के मेनिफ़ेस्ट में बताया है), उस ऐप्लिकेशन को डीबग करने लायक बिल्ड पर इंस्टॉल नहीं किया जा सकता.

अनुमति वाली सूची जोड़ें

ऐप्लिकेशन की अनुमति वाली सूची को किसी एक एक्सएमएल फ़ाइल या कई एक्सएमएल फ़ाइलों में रखा जा सकता है, इसके समान 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}