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

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

ঐতিহাসিকভাবে, কোন প্ল্যাটফর্ম-স্বাক্ষরিত ননসিস্টেম অ্যাপগুলি একটি প্ল্যাটফর্ম-স্বাক্ষরিত শেয়ার্ড ইউআইডিতে যোগ দিতে পারে তার উপর ডিভাইস নির্মাতাদের খুব কম নিয়ন্ত্রণ ছিল। অ্যান্ড্রয়েড 15 থেকে শুরু করে, নির্মাতারা স্পষ্টভাবে প্ল্যাটফর্ম-স্বাক্ষরিত ননসিস্টেম অ্যাপগুলিকে /etc/permissions ডিরেক্টরিতে সিস্টেম কনফিগারেশন XML ফাইলগুলিতে প্ল্যাটফর্ম-স্বাক্ষরিত শেয়ার্ড ইউআইডি-তে যোগদানের অনুমতি দিতে পারে। যদি একটি প্ল্যাটফর্ম-স্বাক্ষর করা ননসিস্টেম অ্যাপ একটি প্ল্যাটফর্ম-স্বাক্ষর করা শেয়ার্ড ইউআইডি-র অনুমোদনের তালিকায় যোগ না করা হয় এবং অ্যাপটি এখনও প্ল্যাটফর্ম-স্বাক্ষর করা শেয়ার্ড ইউআইডিতে যোগ দেওয়ার চেষ্টা করে (এটির ম্যানিফেস্টে android:sharedUserId সহ), সেই অ্যাপটি পারবে না ননডিবাগেবল বিল্ডগুলিতে ইনস্টল করা হবে।

একটি অনুমোদিত তালিকা যোগ করুন

আপনি frameworks/base/data/etc/package-shareduid-allowlist.xml মতো একটি একক XML ফাইলে বা একাধিক 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}