অ্যান্ড্রয়েড ডেভেলপারদের সাথে সহযোগিতা এবং সর্বশেষ অভ্যন্তরীণ পরীক্ষার উপর ভিত্তি করে অ্যান্ড্রয়েড ১৩-এ সীমাবদ্ধ নন-এসডিকে ইন্টারফেসের হালনাগাদ তালিকা অন্তর্ভুক্ত করা হয়েছে। যখনই সম্ভব, আমরা নন-এসডিকে ইন্টারফেস সীমাবদ্ধ করার আগে নিশ্চিত করি যে সেগুলোর পাবলিক বিকল্প উপলব্ধ আছে।
আপনার অ্যাপটি যদি অ্যান্ড্রয়েড ১৩-কে টার্গেট না করে, তবে এই পরিবর্তনগুলোর কিছু হয়তো আপনাকে তাৎক্ষণিকভাবে প্রভাবিত করবে না। তবে, যদিও আপনি বর্তমানে কিছু নন-এসডিকে ইন্টারফেস ব্যবহার করতে পারবেন ( যা আপনার অ্যাপের টার্গেট এপিআই লেভেলের উপর নির্ভর করে ), যেকোনো নন-এসডিকে মেথড বা ফিল্ড ব্যবহার করলে আপনার অ্যাপটি ভেঙে যাওয়ার উচ্চ ঝুঁকি সবসময়ই থাকে।
আপনার অ্যাপ নন-এসডিকে ইন্টারফেস ব্যবহার করে কিনা, সে বিষয়ে আপনি অনিশ্চিত থাকলে, তা জানার জন্য আপনার অ্যাপটি পরীক্ষা করে দেখতে পারেন। যদি আপনার অ্যাপ নন-এসডিকে ইন্টারফেসের উপর নির্ভরশীল হয়, তবে আপনার এসডিকে বিকল্পগুলিতে স্থানান্তরের পরিকল্পনা শুরু করা উচিত। তা সত্ত্বেও, আমরা বুঝি যে কিছু অ্যাপের ক্ষেত্রে নন-এসডিকে ইন্টারফেস ব্যবহারের যৌক্তিক কারণ থাকে। যদি আপনি আপনার অ্যাপের কোনো ফিচারের জন্য নন-এসডিকে ইন্টারফেস ব্যবহারের কোনো বিকল্প খুঁজে না পান, তবে আপনার একটি নতুন পাবলিক এপিআই-এর জন্য অনুরোধ করা উচিত।
অ্যান্ড্রয়েড ১৩-এর জন্য তালিকার পরিবর্তনসমূহ
অ্যান্ড্রয়েড ১৩-এর তালিকাভুক্ত পরিবর্তনগুলো নিম্নলিখিত শ্রেণীতে পড়ে:
- নন-এসডিকে ইন্টারফেস, যেগুলো অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১)-এ অসমর্থিত ছিল এবং অ্যান্ড্রয়েড ১৩-এ ব্লক করা হয়েছে।
অ্যান্ড্রয়েড ১৩-এর সকল নন-এসডিকে ইন্টারফেসের সম্পূর্ণ তালিকার জন্য, নিম্নলিখিত ফাইলটি ডাউনলোড করুন:
ফাইল: hiddenapi-flags.csv
SHA-256 চেকসাম: 233a277aa8ac475b6df61bffd95665d86aac6eb2ad187b90bf42a98f5f2a11a3
নন-এসডিকে ইন্টারফেসগুলো যা এখন অ্যান্ড্রয়েড ১৩-এ ব্লক করা হয়েছে
নিম্নলিখিত কোড বক্সে সেই সমস্ত নন-এসডিকে ইন্টারফেসের তালিকা দেওয়া হয়েছে যেগুলো অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১)-এ অসমর্থিত ছিল এবং অ্যান্ড্রয়েড ১৩ (এপিআই লেভেল ৩৩)-এ ব্লক করা হয়েছে। অর্থাৎ, এই ইন্টারফেসগুলো max-target-s তালিকার অন্তর্ভুক্ত, তাই আপনার অ্যাপ শুধুমাত্র তখনই এই ইন্টারফেসগুলো ব্যবহার করতে পারবে যদি সেটিকে অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার নিচের সংস্করণকে টার্গেট করা হয়।
নন-এসডিকে ইন্টারফেস সীমাবদ্ধ করার আগে পাবলিক বিকল্পগুলো উপলব্ধ আছে কিনা তা নিশ্চিত করাই আমাদের লক্ষ্য, এবং আমরা বুঝি যে আপনার অ্যাপের এই ইন্টারফেসগুলো ব্যবহারের একটি বৈধ কারণ থাকতে পারে। যদি আপনার অ্যাপের পূর্ববর্তী সংস্করণে ব্যবহৃত কোনো ইন্টারফেস এখন অ্যান্ড্রয়েড ১৩-এ ব্লক করা হয়ে থাকে, তবে আপনার সেই ইন্টারফেসটির জন্য একটি নতুন পাবলিক এপিআই-এর অনুরোধ করা উচিত।
Landroid/app/Activity;->setDisablePreviewScreenshots(Z)V # Use setRecentsScreenshotEnabled() instead. Landroid/os/PowerManager;->isLightDeviceIdleMode()Z # Use isDeviceLightIdleMode() instead. Landroid/os/Process;->setArgV0(Ljava/lang/String;)V # In general, do not try to change the process name. If you must change the process name (for instance, for debugging), you can use pthread_setname_np() instead, though be aware that doing this might confuse the system. Landroid/view/accessibility/AccessibilityInteractionClient;->clearCache(I)V # Use android.accessibilityservice.AccessibilityService#clearCache() instead.