প্ল্যাটফর্ম-স্বাক্ষরিত শেয়ার করা UID-এর অনুমোদিত তালিকা

প্ল্যাটফর্ম-স্বাক্ষরিত অ্যাপ হল এমন অ্যাপ যা প্ল্যাটফর্ম প্যাকেজের (android) সাথে একই (বা মানানসই) স্বাক্ষর সার্টিফিকেট শেয়ার করে। প্ল্যাটফর্ম-স্বাক্ষরিত অ্যাপ কোনও সিস্টেম অ্যাপ (সিস্টেম ইমেজ পার্টিশনে অবস্থিত) বা নন-সিস্টেম অ্যাপ হতে পারে। প্ল্যাটফর্ম-স্বাক্ষরিত শেয়ার করা UID হল শেয়ার করা UID (android:sharedUserId) যাতে প্ল্যাটফর্ম-স্বাক্ষরিত অ্যাপ থাকে। ডিবাগ করা যায় এমন বিল্ড হল সেইসব বিল্ড যেগুলির android.os.Build.isDebuggable() রিটার্ন true, যেমন userdebug বা eng বিল্ড।

ঐতিহাসিকভাবে, কোন প্ল্যাটফর্ম-স্বাক্ষরিত নন-সিস্টেম অ্যাপ প্ল্যাটফর্ম-স্বাক্ষরিত শেয়ার করা UID-তে যোগ দিতে পারে তার উপর ডিভাইস প্রস্তুতকারকদের খুব কম নিয়ন্ত্রণ ছিল। Android 15 থেকে, প্রস্তুতকারকরা /etc/sysconfig ডিরেক্টরিতে সিস্টেম কনফিগারেশন XML ফাইলে প্ল্যাটফর্ম-স্বাক্ষরিত নন-সিস্টেম অ্যাপগুলিকে প্ল্যাটফর্ম-স্বাক্ষরিত শেয়ার করা UID-তে যোগদানের অনুমতি দিতে পারে। কোনও প্ল্যাটফর্ম-স্বাক্ষরিত ননসিস্টেম অ্যাপ যদি প্ল্যাটফর্ম-স্বাক্ষরিত শেয়ার করা UID-এর সাদাতালিকায় যোগ করা না হয় এবং অ্যাপটি এখনও প্ল্যাটফর্ম-স্বাক্ষরিত শেয়ার করা UID-তে যোগ দেওয়ার চেষ্টা করে (এর ম্যানিফেস্টে 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}