يتضمّن Android 13 قوائم معدَّلة بالواجهات المقيّدة غير المستندة إلى حزمة تطوير البرامج (SDK) بناءً على التعاون مع مطوّري تطبيقات Android وأحدث اختبار داخلي. نحرص على توفّر بدائل عامة كلما أمكن ذلك قبل حظر الواجهات غير المتوفّرة في حزمة SDK.
إذا لم يكن تطبيقك يستهدف نظام التشغيل Android 13، قد لا تؤثر بعض هذه التغييرات في تطبيقك بشكل فوري. ومع أنّه يمكنك حاليًا استخدام بعض واجهات غير حزمة SDK (استنادًا إلى مستوى واجهة برمجة التطبيقات المستهدَف في تطبيقك)، فإنّ استخدام أي طريقة أو حقل غير حزمة SDK ينطوي دائمًا على خطر كبير بتعطُّل تطبيقك.
إذا لم تكن متأكّدًا مما إذا كان تطبيقك يستخدم واجهات غير متوفّرة في حزمة SDK، يمكنك اختبار تطبيقك لمعرفة ذلك. إذا كان تطبيقك يعتمد على واجهات غير متوفرة في حزمة SDK، عليك بدء التخطيط لنقل البيانات إلى بدائل حِزم SDK. ومع ذلك، ندرك أنّ بعض التطبيقات لديها حالات استخدام صالحة لاستخدام واجهات غير متوفرة في حزمة SDK. إذا لم تتمكّن من العثور على بديل لاستخدام واجهة غير متوفرة في حزمة تطوير البرامج (SDK) لإحدى الميزات في تطبيقك، عليك طلب واجهة برمجة تطبيقات عامة جديدة.
التغييرات التي تم إجراؤها في القائمة لنظام التشغيل Android 13
تندرج التغييرات في القائمة في Android 13 ضمن الفئات التالية:
- واجهات غير متوفرة في حزمة SDK لم تكن متوافقة مع Android 12 (المستوى 31 من واجهة برمجة التطبيقات) والتي تم حظرها في Android 13
للحصول على قائمة كاملة بجميع الواجهات غير المتوفرة في حزمة SDK لنظام التشغيل Android 13، نزِّل الملف التالي:
الملف: hiddenapi-flags.csv
المجموع الاختباري لخوارزمية SHA-256: 233a277aa8ac475b6df61bffd95665d86aac6eb2ad187b90bf42a98f5f2a11a3
الواجهات غير المتوفرة في حزمة تطوير البرامج (SDK) المحظورة حاليًا في نظام التشغيل Android 13
يعرض مربّع الرمز التالي جميع الواجهات غير المتوافقة مع حزمة SDK في Android 12 (المستوى 31 من واجهة برمجة التطبيقات) المحظورة في Android 13 (المستوى 33). ويعني هذا أنّ هذه الواجهات تنتمي إلى قائمة "max-target-s
"، لذلك لا يمكن لتطبيقك استخدام
هذه الواجهات إلا إذا كان يستهدف الإصدار Android 12 (المستوى 31 لواجهة برمجة التطبيقات) أو الإصدارات الأقدم.
يكمن هدفنا في التأكّد من توفّر البدائل المتاحة للجميع قبل حظر الواجهات التي لا تستخدم حزمة تطوير البرامج (SDK)، وندرك أنّه قد يكون لدى تطبيقك حالة استخدام صالحة لاستخدام هذه الواجهات. إذا تم حظر واجهة يستخدمها تطبيقك في إصدار سابق في Android 13، عليك طلب واجهة برمجة تطبيقات عامة جديدة لتلك الواجهة.
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.