Update pada pembatasan antarmuka non-SDK di Android 13

Android 13 menyertakan daftar terbaru antarmuka non-SDK yang dibatasi berdasarkan kolaborasi dengan developer Android dan pengujian internal terbaru. Jika memungkinkan, kami akan memastikan ketersediaan alternatif publik sebelum membatasi antarmuka non-SDK.

Jika aplikasi Anda tidak menargetkan Android 13, beberapa perubahan ini mungkin tidak langsung memengaruhi Anda. Namun, meskipun saat ini Anda dapat menggunakan beberapa antarmuka non-SDK (bergantung pada API level target aplikasi Anda), penggunaan metode atau kolom non-SDK tetap sangat berisiko merusak aplikasi Anda.

Jika tidak yakin apakah aplikasi Anda menggunakan antarmuka non-SDK atau tidak, Anda dapat menguji aplikasi untuk mencari tahu. Jika aplikasi Anda mengandalkan antarmuka non-SDK, sebaiknya mulailah merencanakan migrasi ke alternatif SDK. Meskipun begitu, kami paham bahwa beberapa aplikasi memiliki kasus penggunaan yang valid untuk menggunakan antarmuka non-SDK. Jika tidak dapat menemukan alternatif penggunaan antarmuka non-SDK untuk fitur dalam aplikasi Anda, sebaiknya minta API publik baru.

Daftar perubahan untuk Android 13

Daftar perubahan di Android 13 termasuk dalam kategori berikut:

Untuk melihat daftar lengkap semua antarmuka non-SDK untuk Android 13, download file berikut:

File: hiddenapi-flags.csv

SHA-256 checksum: 233a277aa8ac475b6df61bffd95665d86aac6eb2ad187b90bf42a98f5f2a11a3

Antarmuka non-SDK yang kini diblokir di Android 13

Kotak kode berikut ini mencantumkan semua antarmuka non-SDK yang tidak didukung di Android 12 (API level 31) yang diblokir di Android 13 (API level 33). Artinya, antarmuka ini termasuk dalam daftar max-target-s, sehingga aplikasi Anda hanya dapat menggunakan antarmuka ini jika menargetkan Android 12 (API level 31) atau lebih rendah.

Tujuan kami adalah memastikan bahwa alternatif publik tersedia sebelum kami membatasi antarmuka non-SDK, dan kami memahami bahwa aplikasi Anda mungkin memiliki kasus penggunaan yang valid untuk menggunakan antarmuka ini. Jika antarmuka yang digunakan oleh aplikasi di versi sebelumnya diblokir di Android 13, Anda harus meminta API publik baru untuk antarmuka tersebut.

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.