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