بهروزرسانیهای محدودیتهای رابط غیر SDK در Android 13
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
Android 13 شامل لیست های به روز شده از رابط های غیر SDK محدود شده بر اساس همکاری با توسعه دهندگان اندروید و آخرین آزمایش داخلی است. در صورت امکان، قبل از اینکه رابطهای غیر SDK را محدود کنیم، مطمئن میشویم که جایگزینهای عمومی در دسترس هستند.
اگر برنامه شما اندروید 13 را هدف قرار نمی دهد، ممکن است برخی از این تغییرات فوراً روی شما تأثیر نگذارند. با این حال، در حالی که در حال حاضر میتوانید از برخی رابطهای غیر SDK ( بسته به سطح API هدف برنامهتان ) استفاده کنید، استفاده از هر روش یا فیلد غیر SDK همیشه خطر شکستن برنامه شما را بالا میبرد.
اگر مطمئن نیستید که برنامه شما از رابط های غیر SDK استفاده می کند، می توانید برنامه خود را آزمایش کنید تا متوجه شوید. اگر برنامه شما به رابطهای غیر SDK متکی است، باید برنامهریزی برای انتقال به جایگزینهای SDK را شروع کنید. با این وجود، میدانیم که برخی از برنامهها دارای موارد استفاده معتبر برای استفاده از رابطهای غیر SDK هستند. اگر نمی توانید جایگزینی برای استفاده از یک رابط غیر SDK برای یک ویژگی در برنامه خود پیدا کنید، باید یک API عمومی جدید درخواست کنید .
لیست تغییرات برای اندروید 13
تغییرات لیست در اندروید 13 در دسته بندی زیر قرار می گیرد:
برای لیست کامل تمام رابط های غیر SDK برای اندروید 13، فایل زیر را دانلود کنید:
فایل: hiddenapi-flags.csv
SHA-256 checksum: 233a277aa8ac475b6df61bffd95665d86aac6eb2ad187b90bf42a98f5f2a11a3
رابط های غیر SDK که اکنون در Android 13 مسدود شده اند
جعبه کد زیر تمام رابطهای غیر SDK را که در Android 12 (سطح API 31) پشتیبانی نمیشوند و در Android 13 (سطح API 33) مسدود شدهاند، فهرست میکند. یعنی این رابطها به فهرست max-target-s
تعلق دارند، بنابراین برنامه شما تنها در صورتی میتواند از این رابطها استفاده کند که اندروید 12 (سطح API 31) یا پایینتر را هدف قرار دهد.
هدف ما این است که قبل از اینکه رابطهای غیر SDK را محدود کنیم، مطمئن شویم که جایگزینهای عمومی در دسترس هستند و میدانیم که برنامه شما ممکن است مورد استفاده معتبری برای استفاده از این رابطها داشته باشد. اگر رابطی که برنامه شما در نسخه قبلی استفاده میکند اکنون در Android 13 مسدود شده است، باید یک API عمومی جدید برای آن رابط درخواست کنید .
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.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-08-27 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-08-27 بهوقت ساعت هماهنگ جهانی."],[],[],null,["Android 13 includes updated lists of restricted non-SDK\ninterfaces based on collaboration with Android developers and the latest\ninternal testing. Whenever possible, we make sure that public alternatives are\navailable before we restrict non-SDK interfaces.\n\nIf your app does not target Android 13, some of these changes\nmight not immediately affect you. However, while you can currently use some\nnon-SDK interfaces ([depending on your app's target API\nlevel](/guide/app-compatibility/restrictions-non-sdk-interfaces#list-names)),\nusing any non-SDK method or field always carries a high risk of breaking your\napp.\n\nIf you are unsure if your app uses non-SDK interfaces, you can [test your\napp](/guide/app-compatibility/restrictions-non-sdk-interfaces#test-for-non-sdk)\nto find out. If your app relies on non-SDK interfaces, you should begin planning\na migration to SDK alternatives. Nevertheless, we understand that some apps have\nvalid use cases for using non-SDK interfaces. If you cannot find an alternative\nto using a non-SDK interface for a feature in your app, you should [request a\nnew public API](/guide/app-compatibility/restrictions-non-sdk-interfaces#feature-request).\n\nList changes for Android 13\n\nThe list changes in Android 13 fall into the following category:\n\n- Non-SDK interfaces that were unsupported in Android 12 (API level 31) that are [blocked in Android 13](#new-blocked).\n\nFor a complete list of all non-SDK interfaces for Android 13, download the\nfollowing file:\n\nFile: [`hiddenapi-flags.csv`](https://dl.google.com/developers/android/tm/non-sdk/hiddenapi-flags.csv)\n\nSHA-256 checksum: `233a277aa8ac475b6df61bffd95665d86aac6eb2ad187b90bf42a98f5f2a11a3`\n\nNon-SDK interfaces that are now blocked in Android 13\n\nThe following code box lists all of the non-SDK interfaces that were unsupported\nin Android 12 (API level 31) that are blocked in Android 13 (API level 33). That\nis, these interfaces belong to the `max-target-s` list, so your app can only use\nthese interfaces if it targets Android 12 (API level 31) or lower.\n\nOur goal is to make sure that public alternatives are available before we\nrestrict non-SDK interfaces, and we understand that your app might have a valid\nuse case for using these interfaces. If an interface that your app uses in a\nprior version is now blocked in Android 13, you should [request a new public\nAPI](/guide/app-compatibility/restrictions-non-sdk-interfaces#feature-request)\nfor that interface. \n\n```\nLandroid/app/Activity;-\u003esetDisablePreviewScreenshots(Z)V # Use /reference/android/app/Activity#setRecentsScreenshotEnabled(boolean) instead.\nLandroid/os/PowerManager;-\u003eisLightDeviceIdleMode()Z # Use /reference/android/os/PowerManager#isDeviceLightIdleMode() instead.\nLandroid/os/Process;-\u003esetArgV0(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.\nLandroid/view/accessibility/AccessibilityInteractionClient;-\u003eclearCache(I)V # Use /reference/android/accessibilityservice/AccessibilityService#clearCache() instead.\n```"]]