Android 13 的非 SDK 介面限制更新

Android 13 提供最新的受限制非 SDK 清單 介面是以與 Android 開發人員合作為基礎,並採用 內部測試。我們會盡可能確保公開的替代方案 ,然後再限制非 SDK 介面使用

如果您的應用程式並不是以 Android 13 為目標版本,則此處可能有部分變更 可能無法立即對您造成影響不過,雖然您目前可以使用 非 SDK 介面 (視應用程式的目標 API 而定) level)、 使用任何非 SDK 方法或欄位,都有很高的風險 應用程式。

如果不確定應用程式是否使用非 SDK 介面,可以測試 應用程式 讓我們一探究竟。如果您的應用程式仰賴非 SDK 介面,建議您著手規劃 轉換至 SDK 替代方案我們瞭解有些應用程式 使用非 SDK 介面的有效用途。如果您找不到替代選項 針對應用程式中的某個功能使用非 SDK 介面,則應要求 新的公用 API

列出 Android 13 的變更

Android 13 的清單變更屬於以下類別:

如需 Android 13 所有非 SDK 介面的完整清單,請下載 檔案:

檔案:hiddenapi-flags.csv

SHA-256 總和檢查碼:233a277aa8ac475b6df61bffd95665d86aac6eb2ad187b90bf42a98f5f2a11a3

Android 13 現已封鎖的非 SDK 介面

以下程式碼方塊會列出所有不支援的非 SDK 介面 在 Android 12 (API 級別 31) 中遭到封鎖,且已在 Android 13 (API 級別 33) 中遭到封鎖。沒錯 是這些介面屬於 max-target-s 清單,因此應用程式只能使用 但前提是這些介面是以 Android 12 (API 級別 31) 以下版本為目標。

我們的目標是確保在 Google Cloud 會限制非 SDK 介面,而我們瞭解您的應用程式可能具備 瞭解這些介面的用途如果應用程式在 Android 13 已經封鎖舊版 Android 應用程式,請要求發布新的公開版本 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.