يتضمّن نظام التشغيل 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) التي لم تكن متوافقة
في الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والتي تم حظرها في الإصدار 13 من نظام التشغيل Android (المستوى 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.