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

그림 1. 전환할 수 있는 변경사항이 나열된 개발자 옵션의 앱 호환성 변경사항 화면

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

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

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

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

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

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

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

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

ACCESS_SHARED_IDENTITY

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

앱이 ActivityOptions.setShareIdentityEnabled(boolean)true 값으로 호출된 ActivityOptions의 인스턴스와 함께 이 활동을 실행하여 ID를 공유하도록 선택한 경우 또는 실행된 활동의 uid가 실행 앱의 uid와 같은 경우 실행 앱의 ID에 대한 액세스 권한을 부여합니다. 이 변경사항이 사용 설정되고 이러한 요구사항 중 하나가 충족되면 활동은 각각 Activity.getLaunchedFromUid()Activity.getLaunchedFromPackage()를 사용하여 실행 앱의 uid와 패키지 이름에 액세스할 수 있습니다.

ALWAYS_SANDBOX_DISPLAY_APIS

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

사용 설정하면 윈도잉 모드와 관계없이 Display API 샌드박스를 패키지에 적용합니다. Display API는 항상 앱 경계를 제공합니다.

이 변경사항에 관한 자세한 내용은 Android 12 동작 변경사항 페이지의 지원 중단된 디스플레이 메서드 섹션을 참고하세요.

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

변경 ID: 258236856
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

사용 설정하면 Android 13(API 수준 33) 이하에서 앱이 API 및 기능에 느리게 반응할 경우 '애플리케이션 응답 없음'(ANR) 메시지가 트리거됩니다.

AUTHORITY_ACCESS_CHECK_CHANGE_ID

변경 ID: 207133734
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 14 이상을 타겟팅하는 앱의 경우 모든 동기화 관련 API에서 호출 UID의 권한 액세스를 확인할 수 있습니다.

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

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

DEFAULT_RESCIND_BAL_FG_PRIVILEGES_BOUND_SERVICE

변경 ID: 244637991
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

앱이 PendingIntent#send() 또는 유사한 메서드를 사용하여 PendingIntent를 전송할 때 대기 중인 인텐트를 시작하기 위해 자체 백그라운드 활동 실행 권한을 부여할지 이제 앱이 선택해야 합니다.

이 변경사항에 관한 자세한 내용은 Android 14 동작 변경사항 페이지의 백그라운드에서 활동 시작에 관한 추가 제한사항 섹션을 참고하세요.

DETACH_THROWS_ISE_ONLY

변경 ID: 236825255
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

#detachImage에서 발생한 올바른 예외를 통제하는 플래그입니다.

#detachImage는 오류 발생 시 IllegalStateException을 발생시키는 것으로 문서화됩니다. Image를 분리하는 동안 노출 영역이 포기되면 이에 관한 네이티브 도우미 메서드가 RuntimeException을 발생시켰습니다.

이전에 문서화되지 않은 이 예외 동작은 Android 13(API 수준 33)까지 계속됩니다.

Android 13(API 수준 33) 후에는 네이티브 도우미 메서드가 문서에 따라 IllegalStateExceptions만 발생시킵니다.

이 변경사항이 사용 설정되면 이미지를 분리하는 동안 오류가 발생하는 경우에만 #detachImage에서 IllegalStateException이 발생합니다. Android 13(API 수준 33) 이하를 타겟팅하는 앱의 동작은 변경되지 않습니다.

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%를 사용하여 디스플레이에서 실행되고 있다고 가정합니다.

DYNAMIC_RECEIVER_EXPLICIT_EXPORT_REQUIRED

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

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

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

ENABLE_PLATFORM_MDNS_BACKEND

변경 ID: 270306772
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 14 이상을 타겟팅하는 앱은 플랫폼 통합 mDNS 구현을 백엔드로 사용하는 반면, 이전 버전을 타겟팅하는 앱은 레거시 네트워크 서비스 검색(NSD) 백엔드(NsdManager 백엔드로 레거시 네이티브 데몬 사용)를 계속 사용합니다.

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

변경 ID: 266524688
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

자체 인증 기능 확인은 Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다. 자세한 내용은 NetworkCapabilities를 참고하세요.

ENFORCE_PACKAGE_VISIBILITY_FILTERING

변경 ID: 154726397
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 14 이상을 타겟팅하는 앱의 경우 앱이 AccountManager API에 액세스하려면 매니페스트에서 패키지 공개 상태 요구사항을 선언해야 합니다.

ENFORCE_READ_ONLY_JAVA_DCL

변경 ID: 218865702
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 14 이상을 타겟팅하는 앱의 경우 동적으로 로드된 모든 파일을 읽기 전용으로 표시해야 합니다. 이렇게 하면 동적으로 로드된 파일을 악의적인 행위자가 예기치 않게 덮어쓸 수 없습니다.

ENFORCE_STRICT_QUERY_BUILDER

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

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

FGS_TYPE_CHECK_FOR_INSTANT_APPS

변경 ID: 261055255
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

사용 설정되면 인스턴트 앱은 앱의 매니페스트 파일에서 선언된 모든 서비스에 적절한 포그라운드 서비스 유형을 지정해야 합니다.

이 변경사항에 관한 자세한 내용은 포그라운드 서비스 유형 변경사항을 설명하는 페이지를 참고하세요.

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

변경 ID: 255042465
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

사용 설정하면 Android 14 이상을 타겟팅하는 앱에서 지원 중단된 FOREGROUND_SERVICE_TYPE_NONE 유형을 사용하여 포그라운드 서비스를 시작하는 경우 로그에 경고가 표시됩니다.

이 변경사항에 관한 자세한 내용은 포그라운드 서비스 유형 변경사항을 설명하는 페이지를 참고하세요.

FGS_TYPE_NONE_DISABLED_CHANGE_ID

변경 ID: 255038118
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

사용 설정하면 Android 14 이상을 타겟팅하는 앱에서 지원 중단된 FOREGROUND_SERVICE_TYPE_NONE 유형을 사용하여 포그라운드 서비스를 시작하는 경우 예외가 발생합니다.

이 변경사항에 관한 자세한 내용은 포그라운드 서비스 유형 변경사항을 설명하는 페이지를 참고하세요.

FGS_TYPE_PERMISSION_CHANGE_ID

변경 ID: 254662522
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

사용 설정하면 Android 14 이상을 타겟팅하고 포그라운드 서비스 유형과 연결된 필수 권한 없이 포그라운드 서비스를 시작하는 앱에서 SecurityException이 발생합니다.

이 변경사항에 관한 자세한 내용은 포그라운드 서비스 유형 변경사항을 설명하는 페이지를 참고하세요.

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: 181146395
기본 상태: 모든 앱에서 사용 중지됩니다.

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

FORCE_RESIZE_APP

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

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

GWP_ASAN

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

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

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

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

변경 ID: 229362273
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 14 이상을 타겟팅하는 앱의 경우 암시적 인텐트를 통해 구성요소를 호출하려면 구성요소를 내보내야 합니다. 구성요소를 내보내거나 호출하지 않으면 수신기 목록에서 삭제됩니다. 이는 특히 활동 및 브로드캐스트에 적용됩니다.

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 버전은 공정한 작업 슬롯 예약과 성공적으로 작업을 완료할 더 나은 기회에서 혜택을 받습니다.

NATIVE_HEAP_ZERO_INIT

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

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

NATIVE_MEMTAG_ASYNC

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

이 프로세스에서 비동기(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
기본 상태: 모든 앱에서 사용 중지됩니다.

사용 설정하면 Display API 샌드박스가 레터박스 또는 SCM 활동에 적용되지 않습니다. Display API는 계속해서 DisplayArea 경계를 제공합니다.

이 변경사항에 관한 자세한 내용은 Android 12 동작 변경사항 페이지의 지원 중단된 디스플레이 메서드 섹션을 참고하세요.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

이 변경 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() 호출 수에 비율 제한을 사용 설정합니다. 정해진 시간에 허용된 것보다 많은 토스트 메시지를 표시하려고 하면 토스트 메시지가 삭제됩니다.

REJECT_NEGATIVE_NETWORK_ESTIMATES

변경 ID: 253665015
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

사용 설정하려면 예상 네트워크 바이트가 음수가 아니어야 합니다.

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

변경 ID: 241104082
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 14 이상을 타겟팅하는 앱의 경우 포함된 JobWorkItem이 네트워크 사용량을 나타낸다면 호스팅 작업에서 네트워크 제약 조건을 지정해야 합니다.

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

변경 ID: 271850009
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 14 이상을 타겟팅하는 앱의 경우 연결 제약 조건이 있는 작업을 예약할 때 앱이 INTERNETACCESS_NETWORK_STATE를 모두 지정해야 합니다.

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

변경 ID: 255371817
기본 상태: Android 14 이상을 타겟팅하는 앱에서 사용 설정됩니다.

Android 14 이상을 타겟팅하는 앱의 경우 앱에서 필요한 모든 데이터 전송 API를 올바르게 구현하지 않으면 시스템에서 예외가 발생합니다.

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

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