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

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

إذا كان تطبيقك لا يستهدف الإصدار 13 من نظام التشغيل Android، قد لا تؤثر بعض هذه التغييرات في تطبيقك على الفور. ومع ذلك، على الرغم من أنّه يمكنك حاليًا استخدام بعض الواجهات غير المتوفّرة في حزمة 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.