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

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

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

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

التغييرات التي تم إجراؤها في القائمة لنظام التشغيل Android 13

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

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