تعديلات على قيود الواجهة غير المتوفرة في حزمة تطوير البرامج (SDK) في Android 13

يتضمّن نظام التشغيل Android 13 قوائم معدَّلة للواجهات غير المتوافقة مع حِزم تطوير البرامج (SDK) والتي تم حظرها استنادًا إلى التعاون مع مطوّري تطبيقات Android وأحدث الاختبار الداخلي. نحرص على توفّر بدائل عامة كلما أمكن ذلك قبل حظر الواجهات غير المتوفّرة في حزمة SDK.

إذا كان تطبيقك لا يستهدف الإصدار 13 من نظام التشغيل Android، قد لا تسري بعض هذه التغييرات عليك على الفور. ومع ذلك، يمكنك حاليًا استخدام بعض الواجهات التي لا تتضمّن حزمة SDK (اعتمادًا على مستوى واجهة برمجة التطبيقات المستهدَف في تطبيقك)، إلا أنّ استخدام أي حقل أو طريقة غير متوفّرة في حزمة SDK يؤدي دائمًا إلى تعطّل التطبيق.

إذا لم تكن متأكّدًا مما إذا كان تطبيقك يستخدم واجهات غير متوفّرة في حزمة SDK، يمكنك اختبار تطبيقك لمعرفة ذلك. إذا كان تطبيقك يعتمد على واجهات غير متوفرة في حزمة SDK، عليك بدء التخطيط لنقل البيانات إلى بدائل حِزم SDK. ومع ذلك، ندرك أنّ بعض التطبيقات لديها حالات استخدام صالحة لاستخدام واجهات غير متوفرة في حزمة SDK. إذا لم تتمكّن من العثور على بديل لاستخدام واجهة غير متوفرة في حزمة تطوير البرامج (SDK) لإحدى الميزات في تطبيقك، عليك طلب واجهة برمجة تطبيقات عامة جديدة.

قائمة التغييرات في Android 13

تندرج التغييرات في القائمة في Android 13 ضمن الفئات التالية:

للحصول على قائمة كاملة بجميع الواجهات غير المتوفرة في حزمة SDK لنظام التشغيل Android 13، نزِّل الملف التالي:

الملف: hiddenapi-flags.csv

المجموع الاختباري لخوارزمية SHA-256: 233a277aa8ac475b6df61bffd95665d86aac6eb2ad187b90bf42a98f5f2a11a3

الواجهات غير المتوفرة في حزمة SDK والمحظورة الآن في Android 13

يسرد مربّع الرموز التالي جميع واجهات برمجة التطبيقات غير حِزم تطوير البرامج (SDK) التي لم تكن متوافقة في الإصدار 12 من Android (المستوى 31 لواجهة برمجة التطبيقات) والتي تم حظرها في الإصدار 13 من Android (المستوى 33 لواجهة برمجة التطبيقات). ويعني هذا أنّ هذه الواجهات تنتمي إلى قائمة "max-target-s"، لذلك لا يمكن لتطبيقك استخدام هذه الواجهات إلا إذا كان يستهدف الإصدار Android 12 (المستوى 31 لواجهة برمجة التطبيقات) أو الإصدارات الأقدم.

هدفنا هو التأكّد من توفّر بدائل عامة قبل أن نحظر استخدام واجهات غير متوفّرة في حزمة SDK، وندرك أنّ تطبيقك قد يحتوي على حالة استخدام صالحة لاستخدام هذه الواجهات. إذا تم حظر واجهة يستخدمها تطبيقك في أحد الإصدارات السابقة في الإصدار 13 من Android، عليك طلب واجهة برمجة تطبيقات عامة جديدة لهذه الواجهة.

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.