호환성 프레임워크 변경사항(Android 13)

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
그림 1. 전환할 수 있는 변경사항이 나열된 개발자 옵션의 앱 호환성 변경사항 화면

이 페이지에서는 Android 13(API 수준 33)의 호환성 프레임워크에 포함된 전환 가능한 변경사항을 설명합니다. 이 목록을 개발자 옵션 및 ADB 명령어와 함께 사용하여 Android 13을 지원하고 타겟팅할 준비를 할 때 앱을 테스트하고 디버그하세요.

다음은 호환성 프레임워크 도구를 사용하여 실행할 수 있는 작업입니다.

  • 앱의 targetSdkVersion을 실제로 변경하지 않고 타겟팅된 변경사항을 테스트합니다. 전환을 사용해 타겟팅된 특정 동작 변경사항을 강제로 사용 설정하여 기존 앱에 미치는 영향을 평가할 수 있습니다.
  • 테스트에서 특정 변경사항에만 중점을 둡니다. 타겟팅된 모든 변경사항을 한 번에 처리할 필요 없이 전환을 사용하면 테스트하려는 변경사항을 제외하고 타겟팅된 모든 변경사항을 사용 중지할 수 있습니다.
  • adb를 통해 전환을 관리합니다. adb 명령어를 사용하여 자동화된 테스트 환경에서 전환 가능한 변경사항을 사용 설정하거나 사용 중지할 수 있습니다.
  • 표준 변경 ID를 사용하여 더 빠르게 디버그합니다. 전환 가능한 각 변경사항에는 로그 출력에서 근본 원인을 빠르게 디버그하는 데 사용할 수 있는 고유 ID와 이름이 있습니다.

이러한 각 사용 사례에 맞는 도구를 사용하는 방법에 관한 자세한 내용은 호환성 프레임워크 도구를 참고하세요.

호환성 프레임워크에 포함된 동작 변경사항

이 섹션의 목록에서는 Android 13의 호환성 프레임워크에 포함된 전환 가능한 변경사항을 설명합니다.

기본 상태로 변경사항 목록을 필터링할 수 있습니다.

Android 13의 호환성 프레임워크에서 전환 가능한 변경사항

ACCOUNT_ACCESS_CHECK_CHANGE_ID

변경 ID: 201794303
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 모든 동기화 관련 API에서 호출 UID의 계정 액세스를 확인할 수 있습니다.

ALLOW_COPY_SOLID_COLOR_VIEW

변경 ID: 205907456
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 스플래시 화면에 단색만 표시되더라도 앱이 SplashScreen.OnExitAnimationListener.onSplashScreenExit(SplashScreenView) 콜백을 수신할 수 있습니다.

ALLOW_SECURE_ACTIVITY_DISPLAY_ON_REMOTE_DEVICE

변경 ID: 201712607
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱에서는 필요한 경우 보안 활동이 원격 기기에 표시되도록 허용합니다.

ALWAYS_SANDBOX_DISPLAY_APIS

변경 ID: 185004937
기본 상태: 모든 앱에서 사용 중지됩니다.

윈도잉 모드와 관계없이 이 변경이 적용된 패키지에서 항상 Display API 샌드박스를 적용하도록 강제합니다. Display API는 항상 앱 경계를 제공합니다.

이 변경사항에 관한 자세한 내용은 Display#getRealSize 및 getRealMetrics: 지원 중단 및 샌드박스를 참고하세요.

BORINGLAYOUT_FALLBACK_LINESPACING

변경 ID: 210923482
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 BoringLayout에 관한 대체 텍스트 줄 간격(줄 높이)을 사용 설정합니다.

CALL_REDIRECTION_AUDIO_MODES

변경 ID: 189472651
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 통화 오디오 리디렉션에 오디오 모드를 사용할 수 있습니다.

CAMERA_MIC_INDICATORS_NOT_PRESENT

변경 ID: 162547999
기본 상태: 모든 앱에서 사용 중지됩니다.

이 기기가 카메라 및 마이크 표시기를 지원한다고 나타냅니다. 변경 ID가 없으면 CompatChanges#isChangeEnabled 메서드가 true를 반환하므로 있는 경우에는 false입니다.

CLEAR_SHOW_FORCED_FLAG_WHEN_LEAVING

변경 ID: 214016041
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 호출자에 현재 포커스가 없으면 SHOW_FORCED 플래그가 영향을 미치지 않도록 합니다.

DEFER_BOOT_COMPLETED_BROADCAST_CHANGE_ID

변경 ID: 203704822
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 UID의 프로세스가 처음 시작될 때까지 LOCKED_BOOT_COMPLETEDBOOT_COMPLETED 브로드캐스트를 지연시킵니다.

DISALLOW_DEADLINES_FOR_PREFETCH_JOBS

변경 ID: 194532703
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 미리 가져오기 작업(JobInfo.Builder.setPrefetch(boolean))의 기한을 설정하는 것(JobInfo.Builder.setOverrideDeadline(long) 사용)을 허용하지 않습니다. 미리 가져오기 작업은 다음 앱 실행에 가깝게 실행되어야 하므로 기한을 갖도록 허용되지 않습니다. 하지만 시스템은 기한이 있는 이전에 예약된 미리 가져오기 작업을 삭제하거나 취소하지 않습니다.

앱에서 기한이 있는 영구적으로 예약된 미리 가져오기 작업을 유지하는 방법은 없습니다. 기한이 있는 미리 가져오기 작업이 실행되므로 이 제한이 적용되는 앱은 기한이 있는 새 미리 가져오기 작업을 예약할 수 없습니다. 작업 일정을 변경하는 경우(JobService.jobFinished(JobParameters, boolean) 또는 JobService.onStopJob(JobParameters)'s 반환 값을 사용하여 true 제공) 기한이 삭제됩니다. 주기적 작업을 사용하려면 모든 제약 조건이 충족되어야 하므로 이러한 제한은 기한에 적용되지 않습니다.

DOWNSCALED

변경 ID: 168419799
기본 상태: 모든 앱에서 사용 중지됩니다.

이 변경사항은 앱별로 발생하는 모든 버퍼 축소 변경의 게이트키퍼가 됩니다. 변경사항을 사용 중지하면 다음 배율이 작동하지 않습니다.

앱 패키지에 이 변경사항을 사용 설정하면 앱은 사용할 수 있는 가장 높은 배율로 크기가 강제 조절됩니다. 예를 들어, 80%와 70%가 사용 설정되어 있으면 80%가 사용됩니다.

DOWNSCALE_30

변경 ID: 189970040
기본 상태: 모든 앱에서 사용 중지됩니다.

DOWNSCALED도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 앱이 실제 디스플레이의 세로 및 가로 해상도의 30%를 사용하여 디스플레이에서 실행되고 있다고 가정합니다.

DOWNSCALE_35

변경 ID: 189969749
기본 상태: 모든 앱에서 사용 중지됩니다.

DOWNSCALED도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 앱이 실제 디스플레이의 세로 및 가로 해상도의 35%를 사용하여 디스플레이에서 실행되고 있다고 가정합니다.

DOWNSCALE_40

변경 ID: 189970038
기본 상태: 모든 앱에서 사용 중지됩니다.

DOWNSCALED도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 앱이 실제 디스플레이의 세로 및 가로 해상도의 40%를 사용하여 디스플레이에서 실행되고 있다고 가정합니다.

DOWNSCALE_45

변경 ID: 189969782
기본 상태: 모든 앱에서 사용 중지됩니다.

DOWNSCALED도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 앱이 실제 디스플레이의 세로 및 가로 해상도의 45%를 사용하여 디스플레이에서 실행되고 있다고 가정합니다.

DOWNSCALE_50

변경 ID: 176926741
기본 상태: 모든 앱에서 사용 중지됩니다.

DOWNSCALED도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 앱이 실제 디스플레이의 세로 및 가로 해상도의 50%를 사용하여 디스플레이에서 실행되고 있다고 가정합니다.

DOWNSCALE_55

변경 ID: 189970036
기본 상태: 모든 앱에서 사용 중지됩니다.

DOWNSCALED도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 앱이 실제 디스플레이의 세로 및 가로 해상도의 55%를 사용하여 디스플레이에서 실행되고 있다고 가정합니다.

DOWNSCALE_60

변경 ID: 176926771
기본 상태: 모든 앱에서 사용 중지됩니다.

DOWNSCALED도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 앱이 실제 디스플레이의 세로 및 가로 해상도의 60%를 사용하여 디스플레이에서 실행되고 있다고 가정합니다.

DOWNSCALE_65

변경 ID: 189969744
기본 상태: 모든 앱에서 사용 중지됩니다.

DOWNSCALED도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 앱이 실제 디스플레이의 세로 및 가로 해상도의 65%를 사용하여 디스플레이에서 실행되고 있다고 가정합니다.

DOWNSCALE_70

변경 ID: 176926829
기본 상태: 모든 앱에서 사용 중지됩니다.

DOWNSCALED도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 앱이 실제 디스플레이의 세로 및 가로 해상도의 70%를 사용하여 디스플레이에서 실행되고 있다고 가정합니다.

DOWNSCALE_75

변경 ID: 189969779
기본 상태: 모든 앱에서 사용 중지됩니다.

DOWNSCALED도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 앱이 실제 디스플레이의 세로 및 가로 해상도의 75%를 사용하여 디스플레이에서 실행되고 있다고 가정합니다.

DOWNSCALE_80

변경 ID: 176926753
기본 상태: 모든 앱에서 사용 중지됩니다.

DOWNSCALED도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 앱이 실제 디스플레이의 세로 및 가로 해상도의 80%를 사용하여 디스플레이에서 실행되고 있다고 가정합니다.

DOWNSCALE_85

변경 ID: 189969734
기본 상태: 모든 앱에서 사용 중지됩니다.

DOWNSCALED도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 앱이 실제 디스플레이의 세로 및 가로 해상도의 85%를 사용하여 디스플레이에서 실행되고 있다고 가정합니다.

DOWNSCALE_90

변경 ID: 182811243
기본 상태: 모든 앱에서 사용 중지됩니다.

DOWNSCALED도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 앱이 실제 디스플레이의 세로 및 가로 해상도의 90%를 사용하여 디스플레이에서 실행되고 있다고 가정합니다.

DUMP_IGNORES_SPECIAL_ARGS

변경 ID: 149254050
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 dumpsys activity가 일부 특수 인수로 호출되면 dump(String, FileDescriptor, PrintWriter, String[])가 호출되지 않습니다.

DYNAMIC_RECEIVER_EXPLICIT_EXPORT_REQUIRED

변경 ID: 161145287
기본 상태: 모든 앱에서 사용 중지됩니다.

사용 설정하면 코드에서 보호되지 않는 브로드캐스트의 수신기를 등록할 때 Context.RECEIVER_EXPORTED 또는 Context.RECEIVER_NOT_EXPORTED를 앱에서 명시적으로 설정해야 합니다.

자세한 내용은 컨텍스트 등록 수신기의 더 안전한 내보내기 섹션을 참고하세요.

ENABLE_PENDING_INTENT_BAL_OPTION

변경 ID: 192341120
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 PendingIntent가 백그라운드 활동을 시작하는 데 악용되지 못하도록 방지합니다.

ENABLE_SIMPLIFIED_DARK_MODE

변경 ID: 214741472
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 웹 콘텐츠가 앱의 테마에 따라 밝은 스타일이나 어두운 스타일을 적용하고 WebView는 적절한 경우 알고리즘 방식의 어둡게 하기를 통해 웹 콘텐츠를 어둡게 하려고 할 수 있습니다. 자세한 내용은 setAlgorithmicDarkeningAllowed(boolean)를 참고하세요.

ENABLE_TOUCH_OPAQUE_ACTIVITIES

변경 ID: 194480991
기본 상태: 모든 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상에서 실행되는 앱의 경우 활동이 작업 경계 내에서 모든 터치를 사용하도록 합니다.

ENABLE_USE_EXACT_ALARM

변경 ID: 218533173
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 특정 유형의 앱이 Manifest.permission.USE_EXACT_ALARM을 사용하여 정확한 알람을 예약할 수 있습니다.

ENFORCE_INTENTS_TO_MATCH_INTENT_FILTERS

변경 ID: 161252188
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 구성요소는 선언된 인텐트 필터와 일치하지 않는 외부 호출자에서 인텐트 수신을 중지합니다. 앱이 내보낸 구성요소를 매니페스트에 등록하고 인텐트 필터를 추가하면 구성요소는 인텐트 필터와 일치하지 않는 인텐트를 포함하여 모든 인텐트로 시작될 수 있습니다. 이는 직관적이지 않다고 많은 개발자가 생각하는 것으로 밝혀졌습니다. 구성요소가 시작될 때 인텐트를 확인하지 않고 상황에 따라 서드 파티 앱에서 내부 전용 기능을 트리거하도록 허용할 수 있습니다.

ENFORCE_STRICT_QUERY_BUILDER

변경 ID: 143231523
기본 상태: 모든 앱에서 사용 중지됩니다.

사용 설정하면 SQLiteQueryBuilder가 악성 인수를 대상으로 모든 CalendarProvider2 쿼리 선택을 확인합니다.

FORCE_DISABLE_HEVC_SUPPORT

변경 ID: 174227820
기본 상태: 모든 앱에서 사용 중지됩니다.

앱이 HEVC 미디어 기능을 지원하지 않도록 강제 사용 중지합니다. 앱은 매니페스트에서 지원되는 미디어 기능을 선언해야 하지만 이 플래그는 앱이 HEVC를 지원하지 않도록 강제하는 데 사용할 수 있으므로 HEVC로 인코딩된 미디어에 액세스하는 동안 트랜스코딩을 강제합니다. 이 플래그를 설정하면 앱의 OS 수준 기본값이 재정의됩니다. 기본적으로 사용 중지되어 있어 OS 기본값이 우선 적용됩니다. 이 플래그와 FORCE_ENABLE_HEVC_SUPPORT를 설정하는 것은 정의되지 않은 상태이므로 OS에서 두 플래그를 모두 무시합니다.

FORCE_ENABLE_HEVC_SUPPORT

변경 ID: 174228127
기본 상태: 모든 앱에서 사용 중지됩니다.

앱이 HEVC 미디어 기능을 지원하도록 강제 사용 설정합니다. 앱은 매니페스트에서 지원되는 미디어 기능을 선언해야 하지만 이 플래그는 앱이 HEVC를 지원하도록 강제하는 데 사용할 수 있으므로 HEVC로 인코딩된 미디어에 액세스하는 동안 트랜스코딩을 방지합니다. 이 플래그를 설정하면 앱의 OS 수준 기본값이 재정의됩니다. 이 기능은 기본적으로 사용 중지되어 있어 OS 기본값이 우선 적용됩니다. 이 플래그와 FORCE_DISABLE_HEVC_SUPPORT를 설정하는 것은 정의되지 않은 상태이므로 OS에서 두 플래그를 모두 무시합니다.

FORCE_NON_RESIZE_APP

변경 ID: 181136395
기본 상태: 모든 앱에서 사용 중지됩니다.

이 변경사항이 적용되는 패키지는 크기를 조절할 수 없습니다.

FORCE_RESIZE_APP

변경 ID: 174042936
기본 상태: 모든 앱에서 사용 중지됩니다.

적용되는 패키지의 크기가 조절되도록 강제합니다. 전체 화면 윈도잉 모드에서만 크기 조절이 허용되고 앱을 크기 조절이 가능한 멀티 윈도우 모드로 강제하지 않습니다.

GET_API_SIGNATURES_FROM_UICC_PORT_INFO

변경 ID: 202110963
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 SIM 카드에서 동시에 2개 이상의 ICCID를 활성화할 수 있도록 허용합니다. 다중 지원 프로필(MEP)에서 이를 지원합니다.

GWP_ASAN

변경 ID: 135634846
기본 상태: 모든 앱에서 사용 중지됩니다.

앱에서 샘플 네이티브 메모리 버그 감지를 사용 설정합니다.

GWP-ASan 사용에 관한 자세한 내용은 GWP-ASan 가이드를 참고하세요.

ICC_CLOSE_CHANNEL_EXCEPTION_ON_FAILURE

변경 ID: 208739934
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 ICC 닫기 채널 작업에 실패할 때마다 이제 예외가 발생합니다.

KEYSTORE_OPERATION_CREATION_MAY_FAIL

변경 ID: 169897160
기본 상태: 모든 앱에서 사용 중지됩니다.

사용 설정하면 새로운 제거 전략에 따라 키 저장소 작업 생성이 실패할 수 있습니다. 키 저장소는 암호화 작업 생성이 항상 성공한다는 가정하에 작동했습니다. 그러나 KeyMint 백엔드에는 제한된 수의 작업 슬롯만 있습니다.

'무한' 작업 슬롯의 모양을 유지하기 위해 키 저장소 데몬은 사용 가능한 작업 슬롯이 없다면 가장 오래전에 사용된 작업을 제거합니다. 따라서 우수한 작업이 조기에 종료될 수 있습니다. 이로 인해 AndroidKeystore가 서비스 거부(DoS) 및 의도하지 않은 라이브 잠금에 노출되었습니다. 예를 들어 전원 관리 최적화로 인해 여러 앱이 동시에 절전 모드가 해제되어 암호화 작업을 실행하려고 하면 아무런 진전 없이 다른 앱의 작업을 종료하기 시작합니다.

라이브 잠금을 해제하고 DoS 시도를 방지하기 위해 작업 슬롯을 거의 사용하지 않는 클라이언트가 선호되도록 제거 전략을 변경했습니다. 따라서 5초 이상 비활성 상태로 있지 않은 단일 작업은 거의 항상 제거 전략에 구속받지 않고 완료됩니다. 이러한 작업도 제거할 수 있는 파일 시스템 암호화와 관련된 작업이 여전히 있지만 아주 드문 경우입니다. 이 새로운 제거 전략 작업의 부작용으로 이제 클라이언트가 모든 기존 작업보다 낮은 제거력을 보유하면 생성이 실패할 수 있습니다.

제거 전략: 적절한 후보를 찾기 위해 호출자와 기존의 각 작업의 malus를 계산합니다. malus는 제거력(호출자)이나 제거 저항(기존 작업)의 역입니다. 호출자가 작업을 제거할 수 있으려면 자체 malus보다 높은 malus가 있는 작업을 찾아야 합니다. 제거 전략에 관한 자세한 내용은 operation.rs 구현을 참고하세요. Android 11(API 수준 30) 이하에서는 KeyStore2가 여유 작업 슬롯을 위해 키 저장소 데몬을 폴링합니다. Android 11(API 수준 30) 이하를 타겟팅하는 앱에서는 여전히 암호화와 서명 객체 초기화가 항상 성공하는 것처럼 보입니다. 그러나 작업을 가져오는 데는 시간이 더 오래 걸릴 수 있습니다. 모든 Android 버전에서 더욱 공정하게 작업 슬롯을 예약할 수 있으며 성공적으로 작업을 완료할 가능성이 높아집니다.

MEDIA_CONTROL_SESSION_ACTIONS

변경 ID: 203800354
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 Notification.MediaStyle 알림을 기반으로 하는 미디어 컨트롤에는 이제 알림의 작업이 아닌 미디어 세션의 PlaybackState에 기반한 작업이 있습니다.

이 변경사항에 관한 자세한 내용은 Android 13 동작 변경사항 페이지의 미디어 컨트롤 변경사항 섹션을 참고하세요.

NATIVE_HEAP_ZERO_INIT

변경 ID: 178038272
기본 상태: 모든 앱에서 사용 중지됩니다.

네이티브 힙 메모리 할당 시, 0으로 자동 초기화하도록 사용 설정합니다.

NATIVE_MEMTAG_ASYNC

변경 ID: 135772972
기본 상태: 모든 앱에서 사용 중지됩니다.

이 프로세스에서 비동기(ASYNC) 메모리 태그 확인을 사용 설정합니다. 이 플래그는 ARM Memory Tagging Extension(MTE)을 지원하는 하드웨어에만 영향을 미칩니다.

NATIVE_MEMTAG_SYNC

변경 ID: 177438394
기본 상태: 모든 앱에서 사용 중지됩니다.

이 프로세스에서 동기(SYNC) 메모리 태그 확인을 사용 설정합니다. 이 플래그는 ARM Memory Tagging Extension(MTE)을 지원하는 하드웨어에만 영향을 미칩니다. NATIVE_MEMTAG_ASYNC와 이 옵션이 모두 사용 설정되면 이 옵션이 우선하며 MTE는 SYNC 모드에서 사용 설정됩니다.

NEVER_SANDBOX_DISPLAY_APIS

변경 ID: 184838306
기본 상태: 모든 앱에서 사용 중지됩니다.

이 변경사항이 적용된 패키지는 레터박스 또는 SCM 활동에 Display API 샌드박스를 적용하지 않도록 합니다. Display API는 계속해서 DisplayArea 경계를 제공합니다.

이 변경사항에 관한 자세한 내용은 Display#getRealSize 및 getRealMetrics: 지원 중단 및 샌드박스를 참고하세요.

NOTIFICATION_LOG_ASSISTANT_CANCEL

변경 ID: 195579280
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 리스너가 더 일반적인 REASON_LISTENER_CANCEL을 사용하는 대신 어시스턴트의 알림 취소에 관해 제공된 더 구체적인 이유를 파악할 수 있습니다.

NOTIFICATION_PERM_CHANGE_ID

변경 ID: 194833441
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 알림의 런타임 권한과 관련된 동작 변경사항을 사용 설정합니다.

이 변경사항에 관한 자세한 내용은 새로운 알림 런타임 권한 페이지를 참고하세요.

NOTIFICATION_TRAMPOLINE_BLOCK_FOR_EXEMPT_ROLES

변경 ID: 227752274
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 Activity가 알림에 대한 응답으로 broadcast receiver나 서비스에서 수신되기 시작하고 알림 작업 클릭은 이전에 제외된 역할 홀더(브라우저)의 UX 및 성능상의 이유로 차단됩니다.

OVERRIDABLE_COMPONENT_CALLBACKS

변경 ID: 193247900
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 registerComponentCallbacks(ComponentCallbacks)getApplicationContext()에 항상 추가하는 대신 Activity 또는 ContextWrapper.getBaseContext()ComponentCallbacks를 추가합니다.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

변경 ID: 191513214
기본 상태: 모든 앱에서 사용 중지됩니다.

이 변경 ID를 사용 설정하면 변경사항이 적용되는 패키지가 현재 android:resizeableActivity 값과 M 이하의 타겟 SDK를 무시하고 활동을 크기 조절이 불가능한 것으로 간주하도록 강제합니다. 이 경우 카메라 회전 및 자르기 값은 현재 디스플레이 회전을 고려하여 필요한 보정에만 의존합니다.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

변경 ID: 189229956
기본 상태: 모든 앱에서 사용 중지됩니다.

이 변경 ID를 사용 설정하면 변경사항이 적용되는 패키지가 기본 카메라 회전 및 자르기 동작을 재정의하고 항상 CaptureRequest.SCALER_ROTATE_AND_CROP_NONE를 반환하도록 강제합니다. 가능한 모든 재정의 조합과 함께 기본 동작은 아래 표에 설명되어 있습니다.

OVERRIDE_MIN_ASPECT_RATIO

변경 ID: 174042980
기본 상태: 모든 앱에서 사용 중지됩니다.

이 변경사항은 지정된 최소 가로세로 비율을 강제로 적용하는 모든 변경의 게이트키퍼가 됩니다. 이 변경을 사용 설정하면 다음과 같은 가로세로 비율이 적용될 수 있습니다.

이 변경사항이 앱 패키지에 사용 설정되면 앱의 매니페스트에 지정된 최소 가로세로 비율이 최대 가로세로 비율보다 더 높지 않은 경우 사용할 수 있는 최대 가로세로 비율로 재정의됩니다.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

변경 ID: 180326787
기본 상태: 모든 앱에서 사용 중지됩니다.

OVERRIDE_MIN_ASPECT_RATIO도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 활동의 최소 가로세로 비율이 OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE에 정의된 큰 값으로 설정됩니다.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

변경 ID: 180326845
기본 상태: 모든 앱에서 사용 중지됩니다.

OVERRIDE_MIN_ASPECT_RATIO도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 활동의 최소 가로세로 비율이 OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE에 정의된 중간 값으로 설정됩니다.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

변경 ID: 203647190
기본 상태: 모든 앱에서 사용 설정됩니다.

OVERRIDE_MIN_ASPECT_RATIO도 사용 설정된 경우 패키지에 이 변경사항을 사용 설정하면 활동의 최소 가로세로 비율을 특정 값(예: OVERRIDE_MIN_ASPECT_RATIO_LARGE, OVERRIDE_MIN_ASPECT_RATIO_MEDIUM)으로 강제하는 기타 모든 변경사항을 세로 모드 방향도 있는 활동으로 제한합니다.

RATE_LIMIT_TOASTS

변경 ID: 174840628
기본 상태: 이 변경사항은 전환할 수 없습니다. 호환성 프레임워크에서만 기록됩니다.

제한된 시간에 너무 많은 토스트 메시지로 사용자에게 과도한 부담을 주지 않도록 Toast.show() 호출 수에 비율 제한을 사용 설정합니다. 정해진 시간에 허용된 것보다 많은 토스트 메시지를 표시하려고 하면 토스트 메시지가 삭제됩니다.

REQUEST_LISTENING_MUST_MATCH_PACKAGE

변경 ID: 172251878
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 TileService.requestListeningState(Context, ComponentName)를 호출하면 호출 패키지(UID)와 타겟 ComponentName 패키지가 일치하는지 확인합니다. 또한 시스템은 사용된 컨텍스트가 현재 사용자를 대신하여 조치를 취할 수 있는지 확인합니다.

RETURN_ADVANCED_VIDEO_PROFILES

변경 ID: 206033068
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 getAll(String, int)에서 반환하는 동영상 프로필의 종류를 제어합니다.

SHOULD_RESOLVE_PORT_INDEX_FOR_APPS

변경 ID: 224562872
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 SIM 카드가 여러 포트에서 다중 지원 프로필(MEP)을 사용 설정할 수 있습니다. 이동통신사 앱의 이전 버전과의 호환성을 유지하기 위해 API 수준 32 이하를 타겟팅하는 앱이 switchToSubscription을 호출하거나 포트 색인을 지정하지 않고 API를 다운로드하면 시스템은 기기 자체에 MEP eUICC가 사용 설정되어 있더라도 항상 포트 색인 0을 사용하여 기존 동작을 유지합니다.

SWITCH_WITHOUT_PORT_INDEX_EXCEPTION_ON_DISABLE

변경 ID: 218393363
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 구독을 중지하기 위해 portIndex 없이 switchToSubscription()이 호출될 때마다 시스템에서 예외가 발생합니다.

THROW_ON_INVALID_PRIORITY_VALUE

변경 ID: 140852299
기본 상태: Android 13(API 수준 33) 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 13(API 수준 33) 이상을 타겟팅하는 앱의 경우 앱이 JobInfo.Builder.setPriority(int)를 사용하여 잘못된 우선순위 값을 제공하면 시스템에서 예외가 발생합니다. 기존 앱이 API를 잘못 사용할 수도 있으므로 API를 계속 사용하면 호출이 자동으로 실패합니다.

USE_EXPERIMENTAL_COMPONENT_ALIAS

변경 ID: 196254758
기본 상태: 모든 앱에서 사용 중지됩니다.

사용 설정하면 시스템은 'android' 패키지가 구성요소 별칭을 사용하도록 허용합니다.