Android 13의 비 SDK 인터페이스 제한사항 업데이트

Android 13에는 Android 개발자와의 공동작업 및 최신 내부 테스트를 기반으로 제한된 비 SDK 인터페이스의 업데이트된 목록이 포함되어 있습니다. 비 SDK 인터페이스를 제한하는 경우, 가능하면 해당 인터페이스에 대한 공개된 대안이 사용 가능한지 여부를 확인합니다.

Android 13을 타겟팅하지 않는 앱의 경우 이러한 변경사항 중 일부는 개발자에게 곧바로 영향을 주지 않을 수도 있습니다. 앱의 대상 API 수준에 따라 현재 일부 비 SDK 인터페이스를 사용하고 있을 수 있습니다. 하지만 비 SDK 메서드 또는 필드를 사용하면 언제든지 앱이 중단될 위험이 있다는 점에 유의하시기 바랍니다.

앱에서 비 SDK 인터페이스를 사용하는지 확실히 알 수 없는 경우 앱을 테스트하여 확인할 수 있습니다. 앱에서 비 SDK 인터페이스를 사용하는 경우 대체 SDK로의 이전을 계획해야 합니다. 일부 앱의 경우 비 SDK 인터페이스 사용에 관한 유효한 사용 사례가 있음을 알고 있습니다. 앱 기능을 구현하기 위해 비 SDK 인터페이스 대신 무엇을 사용해야 할지 알 수 없다면 새 공개 API를 요청해야 합니다.

Android 13의 목록 변경사항

Android 13의 목록 변경사항은 다음과 같은 카테고리로 구분됩니다.

Android 13의 모든 비 SDK 인터페이스에 관한 전체 목록을 보려면 다음 파일을 다운로드하세요.

파일: hiddenapi-flags.csv

SHA-256 체크섬: 233a277aa8ac475b6df61bffd95665d86aac6eb2ad187b90bf42a98f5f2a11a3

이제 Android 13에서 차단되는 비 SDK 인터페이스

다음 코드 상자에는 Android 12(API 수준 31)에서 지원되지 않았고 Android 13(API 수준 33)에서 차단되는 모든 비 SDK 인터페이스가 나열되어 있습니다. 즉, 이러한 인터페이스는 max-target-s 목록에 속하므로 앱은 Android 12(API 수준 31) 이하를 타겟팅하는 경우에만 이러한 인터페이스를 사용할 수 있습니다.

Google의 목표는 비 SDK 인터페이스를 제한하기 전에 공개 대안을 사용할 수 있게 하는 것입니다. Google은 앱에 이 인터페이스가 사용되는 유효한 사용 사례가 있을 수 있다는 것을 이해합니다. 앱이 이전 버전에서 사용하는 인터페이스가 이제 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.