প্ল্যাটফর্ম স্বাক্ষরিত অ্যাপ্লিকেশানগুলি হল প্ল্যাটফর্ম প্যাকেজ ( android
) এর সাথে একই (বা সামঞ্জস্যপূর্ণ) স্বাক্ষর শংসাপত্র ভাগ করে নেওয়া অ্যাপ৷ একটি প্ল্যাটফর্ম স্বাক্ষরিত অ্যাপ একটি সিস্টেম অ্যাপ (একটি সিস্টেম ইমেজ পার্টিশনে অবস্থিত), বা একটি ননসিস্টেম অ্যাপ হতে পারে। প্ল্যাটফর্ম স্বাক্ষর অনুমতি প্ল্যাটফর্ম প্যাকেজ দ্বারা সংজ্ঞায়িত অনুমতি যা signature
সুরক্ষা স্তরও রয়েছে৷ ডিবাগেবল বিল্ড হল এমন বিল্ড যার android.os.Build.isDebuggable()
true
রিটার্ন করে, যেমন userdebug
বা eng
বিল্ড।
ঐতিহাসিকভাবে, প্ল্যাটফর্ম স্বাক্ষরিত ননসিস্টেম অ্যাপগুলিতে কোন প্ল্যাটফর্ম signature
অনুমতি দেওয়া যেতে পারে তার উপর ডিভাইস নির্মাতাদের খুব কম নিয়ন্ত্রণ ছিল। অ্যান্ড্রয়েড 15 থেকে শুরু করে, নির্মাতারা /etc/permissions
ডিরেক্টরিতে সিস্টেম কনফিগারেশন XML ফাইলগুলিতে স্পষ্টভাবে প্ল্যাটফর্ম স্বাক্ষর অনুমতি প্রদান করতে পারে। যদি একটি প্ল্যাটফর্ম স্বাক্ষরিত ননসিস্টেম অ্যাপ প্ল্যাটফর্ম স্বাক্ষরের অনুমতির জন্য অনুমতি তালিকায় যোগ না করা হয়, তাহলে সেই অনুমতিটি এমনভাবে কাজ করে যেন অ্যাপটি ননডিবাগেবল বিল্ডে স্বাক্ষর করা প্ল্যাটফর্ম নয়।
একটি অনুমোদিত তালিকা যোগ করুন
আপনি একটি একক XML ফাইলে বা frameworks/base/etc/permissions
ডিরেক্টরিতে অবস্থিত একাধিক XML ফাইলে অ্যাপগুলির জন্য অনুমতির অনুমতি তালিকা তালিকাভুক্ত করতে পারেন:
-
/etc/permissions/signature-permissions- OEM_NAME .xml
-
/etc/permissions/signature-permissions- DEVICE_NAME .xml
কন্টেন্ট কিভাবে সংগঠিত হয় তার জন্য কোন কঠোর নিয়ম প্রযোজ্য নয়। যতক্ষণ পর্যন্ত উপযুক্ত অ্যাপ এবং তাদের অনুমতি অনুমোদিত তালিকায় যোগ করা হবে ততক্ষণ পর্যন্ত ডিভাইস বাস্তবায়নকারীরা সামগ্রীর কাঠামো নির্ধারণ করতে পারে।
একটি অনুমোদিত তালিকা কাস্টমাইজ করুন
AOSP-এ একটি মঞ্জুরি তালিকা বাস্তবায়ন অন্তর্ভুক্ত রয়েছে যা আপনি প্রয়োজন অনুযায়ী কাস্টমাইজ করতে পারেন, বিশেষাধিকারপ্রাপ্ত অনুমতি অনুরূপ তালিকার মতো। যেমন:
<!--
~ This XML file declares which platform signature permissions to grant to
~ platform signed nonsystem apps.
-->
<permissions>
<signature-permissions package="com.android.example">
<permission name="android.permission.READ_DEVICE_CONFIG"/>
...
</signature-permissions>
...
</permissions>
অনুপস্থিত অনুমতি খুঁজুন
অনুপস্থিত অনুমতিগুলি খুঁজে পেতে, আপনার প্ল্যাটফর্ম স্বাক্ষরিত অ্যাপ ইনস্টল করুন এবং সতর্কতা বার্তাগুলির নিম্নলিখিত বিন্যাসের জন্য ডিভাইস লগগুলি পরিদর্শন করুন:
Signature permission {PERMISSION_NAME} for package {PACKAGE_NAME} ({PACKAGE_PATH}) not in signature permission allowlist
সিস্টেমটি এখনও ডিবাগযোগ্য বিল্ডগুলিতে অনুমতি দিতে পারে, তবে user
বিল্ডগুলির মতো ননডিবাগেবল বিল্ডগুলিতে নয়।