অ্যান্ড্রয়েড ১৩-তে অ্যান্ড্রয়েড ডেভেলপারদের সাথে সহযোগিতা এবং সর্বশেষ অভ্যন্তরীণ পরীক্ষার উপর ভিত্তি করে সীমাবদ্ধ নন-SDK ইন্টারফেসের আপডেট করা তালিকা অন্তর্ভুক্ত রয়েছে। যখনই সম্ভব, আমরা নিশ্চিত করি যে নন-SDK ইন্টারফেস সীমাবদ্ধ করার আগে সর্বজনীন বিকল্পগুলি উপলব্ধ রয়েছে।
যদি আপনার অ্যাপটি Android 13-কে টার্গেট না করে, তাহলে এই পরিবর্তনগুলির কিছু তাৎক্ষণিকভাবে আপনার উপর প্রভাব ফেলতে পারে না। তবে, যদিও আপনি বর্তমানে কিছু নন-SDK ইন্টারফেস ব্যবহার করতে পারেন ( আপনার অ্যাপের টার্গেট API স্তরের উপর নির্ভর করে ), যেকোনো নন-SDK পদ্ধতি বা ক্ষেত্র ব্যবহার করলে আপনার অ্যাপটি ভেঙে যাওয়ার ঝুঁকি সবসময় বেশি থাকে।
যদি আপনার অ্যাপটি নন-SDK ইন্টারফেস ব্যবহার করে কিনা তা নিশ্চিত না হন, তাহলে আপনি আপনার অ্যাপটি পরীক্ষা করে দেখতে পারেন। যদি আপনার অ্যাপ নন-SDK ইন্টারফেসের উপর নির্ভর করে, তাহলে আপনার SDK বিকল্পগুলিতে মাইগ্রেশনের পরিকল্পনা শুরু করা উচিত। তবুও, আমরা বুঝতে পারি যে কিছু অ্যাপের নন-SDK ইন্টারফেস ব্যবহারের জন্য বৈধ ব্যবহারের ক্ষেত্রে রয়েছে। যদি আপনি আপনার অ্যাপে কোনও বৈশিষ্ট্যের জন্য নন-SDK ইন্টারফেস ব্যবহারের বিকল্প খুঁজে না পান, তাহলে আপনার একটি নতুন পাবলিক API অনুরোধ করা উচিত।
অ্যান্ড্রয়েড ১৩ এর জন্য পরিবর্তনের তালিকা
অ্যান্ড্রয়েড ১৩-এর তালিকার পরিবর্তনগুলি নিম্নলিখিত বিভাগে পড়ে:
- নন-SDK ইন্টারফেস যা Android 12 (API লেভেল 31) এ অসমর্থিত ছিল এবং Android 13 এ ব্লক করা হয়েছে।
অ্যান্ড্রয়েড ১৩-এর জন্য সমস্ত নন-এসডিকে ইন্টারফেসের সম্পূর্ণ তালিকার জন্য, নিম্নলিখিত ফাইলটি ডাউনলোড করুন:
ফাইল: hiddenapi-flags.csv
SHA-256 চেকসাম: 233a277aa8ac475b6df61bffd95665d86aac6eb2ad187b90bf42a98f5f2a11a3
নন-SDK ইন্টারফেস যা এখন Android 13-এ ব্লক করা আছে
নিচের কোড বক্সে অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) তে অসমর্থিত সমস্ত নন-এসডিকে ইন্টারফেস তালিকাভুক্ত করা হয়েছে, যেগুলো অ্যান্ড্রয়েড ১৩ (এপিআই লেভেল ৩৩) তে ব্লক করা হয়েছে। অর্থাৎ, এই ইন্টারফেসগুলি max-target-s তালিকার অন্তর্গত, তাই আপনার অ্যাপটি শুধুমাত্র তখনই এই ইন্টারফেসগুলি ব্যবহার করতে পারবে যদি এটি অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার নিচের ভার্সনগুলিকে টার্গেট করে।
আমাদের লক্ষ্য হল নন-SDK ইন্টারফেস সীমাবদ্ধ করার আগে সর্বজনীন বিকল্পগুলি উপলব্ধ করা নিশ্চিত করা, এবং আমরা বুঝতে পারি যে আপনার অ্যাপের এই ইন্টারফেসগুলি ব্যবহারের জন্য একটি বৈধ ব্যবহারের কেস থাকতে পারে। যদি আপনার অ্যাপটি পূর্ববর্তী সংস্করণে ব্যবহৃত একটি ইন্টারফেস এখন Android 13 এ ব্লক করা হয়, তাহলে আপনার সেই ইন্টারফেসের জন্য একটি নতুন সর্বজনীন API অনুরোধ করা উচিত।
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.