আপনার অ্যাপ যদি তার কার্যপরিধি সম্পন্ন করার জন্য অন্যান্য অ্যাপের সাথে মিথস্ক্রিয়ার উপর নির্ভর করে, তাহলে অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) এবং এর পরবর্তী সংস্করণগুলোতে প্যাকেজ ভিজিবিলিটির পরিবর্তনগুলো আপনার অ্যাপকে কীভাবে প্রভাবিত করে, তা পরীক্ষা করে দেখা উপকারী।
এই নির্দেশিকাটি আচরণের পরিবর্তনগুলো কীভাবে পরীক্ষা করা যায় সে সম্পর্কেও কিছু পরামর্শ দেয় এবং আপনার অ্যাপটি কীভাবে প্রভাবিত হতে পারে, তা আরও সূক্ষ্মভাবে নির্ধারণ করার জন্য লগ বার্তা কনফিগার করতে সাহায্য করে।
আচরণের পরিবর্তনগুলি পরীক্ষা করুন
এই আচরণগত পরিবর্তনটি আপনার অ্যাপকে প্রভাবিত করে কিনা তা পরীক্ষা করতে, নিম্নলিখিত ধাপগুলি সম্পন্ন করুন:
- অ্যান্ড্রয়েড স্টুডিও ৩.৬.১ বা উচ্চতর সংস্করণ ইনস্টল করুন।
- অ্যান্ড্রয়েড স্টুডিও দ্বারা সমর্থিত গ্রেডলের সর্বশেষ সংস্করণটি ইনস্টল করুন।
- আপনার অ্যাপের
targetSdkVersion30বা তার বেশি সেট করুন। - আপনার অ্যাপের ম্যানিফেস্ট ফাইলে
<queries>এলিমেন্টটি অন্তর্ভুক্ত করবেন না। -
getInstalledApplications()অথবাgetInstalledPackages()কল করুন। উভয় পদ্ধতিই সফল হলে একটি ফিল্টার করা তালিকা ফেরত দেয়। - আপনার অ্যাপের কোন ফিচারগুলো কাজ করছে না, তা দেখুন।
- ওই বৈশিষ্ট্যগুলো ঠিক করার জন্য উপযুক্ত
<queries>এন্ট্রি যোগ করুন।
প্যাকেজ ফিল্টারিংয়ের জন্য লগ বার্তা কনফিগার করুন
অ্যাপের ডিফল্ট ভিজিবিলিটি আপনার অ্যাপকে কীভাবে প্রভাবিত করে সে সম্পর্কে আরও বিস্তারিত জানতে, আপনি প্যাকেজ ফিল্টারিংয়ের জন্য লগ মেসেজ চালু করতে পারেন। আপনি যদি অ্যান্ড্রয়েড স্টুডিওতে একটি টেস্ট অ্যাপ বা ডিবাগযোগ্য অ্যাপ তৈরি করেন, তবে সিস্টেম লগ আপনাকে এই সুবিধাটি প্রদান করে । অন্যথায়, আপনি এটি ম্যানুয়ালি চালু করার জন্য একটি টার্মিনাল উইন্ডোতে নিম্নলিখিত কমান্ডটি চালাতে পারেন:
adb shell pm log-visibility --enable PACKAGE_NAME
এরপর, যখনই কোনো PackageManager অবজেক্টের রিটার্ন ভ্যালু থেকে প্যাকেজ ফিল্টার করে বাদ দেওয়া হয়, তখন আপনি Logcat-এ নিচের মতো একটি মেসেজ দেখতে পাবেন:
I/AppsFilter: interaction: PackageSetting{7654321 \
com.example.myapp/12345} -> PackageSetting{...} BLOCKED