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

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

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

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

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

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

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

이 섹션의 목록에서는 Android 15 관련 변경사항의 호환성 프레임워크에 포함된 전환 가능한 변경사항과 일반적인 앱 테스트에 도움이 되는 전환 가능한 변경사항을 설명합니다.

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

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

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

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

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

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

사용 설정하면 isSessionConfigurationSupported는 HAL에서 지원하는 경우 세션 매개변수의 호환성도 확인합니다.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

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

사용 설정하면 PendingIntent의 작성자가 기본적으로 백그라운드 활동 실행을 차단합니다.

이 변경사항에 관한 자세한 내용은 Android 15 동작 변경사항 페이지의 안전한 백그라운드 활동 실행 섹션을 참고하세요.

DEPRECATE_UI_FONT

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

사용 설정하면 앱이 Android 15 이상을 실행하는 기기에서 실행 중일 때 elegantTextHeight TextView 속성이 기본적으로 true이 되어 기본적으로 사용되는 소형 글꼴을 세로 측정값이 큰 스크립트로 대체하여 훨씬 더 읽기 쉬운 스크립트로 대체합니다.

이 변경사항에 관한 자세한 내용은 Android 15 동작 변경사항 페이지의 elegantTextHeight 속성이 기본값으로 true로 설정됨 섹션을 참고하세요.

DOWNSCALED

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

이 변경사항은 앱별 버퍼 축소 변경의 모든 게이트키퍼가 됩니다. 이 변경사항을 사용 설정하면 다음과 같은 배율이 적용될 수 있습니다.

앱 패키지에 이 변경사항을 사용 설정하면 앱은 사용할 수 있는 가장 높은 배율로 크기가 강제 조절됩니다. 예를 들어 80% 와 70%(DOWNSCALE_80DOWNSCALE_70)가 모두 사용 설정되어 있으면 80%가 사용됩니다. 이 변경사항과 DOWNSCALED_INVERSE가 모두 사용 설정된 경우 DOWNSCALED_INVERSE가 우선 적용되고 배율이 역으로 적용됩니다.

DOWNSCALED_INVERSE

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

이 변경사항은 앱별로 발생하는 모든 버퍼 역축소 변경의 게이트키퍼가 됩니다. 이 변경사항을 사용 설정하면 다음 배율이 역으로 적용될 수 있습니다 (즉, 해상도가 대신 업스케일됨).

앱 패키지에 이 변경사항을 사용 설정하면 앱은 사용할 수 있는 가장 낮은 배율로 크기가 강제 조절됩니다. 예를 들어 80% 와 70%(DOWNSCALE_80DOWNSCALE_70)가 모두 사용 설정된 경우 80%가 사용됩니다. 역으로 적용하면 80% 크기 조정 계수가 125%가 되며 이는 70% 크기 조정 계수를 역으로 적용할 때 적용되는 142.86% 크기 조정보다 작기 때문입니다. 이 변경사항과 DOWNSCALED가 모두 사용 설정된 경우 DOWNSCALED_INVERSE가 우선 적용되고 배율이 역으로 적용됩니다.

DOWNSCALE_30

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

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

DOWNSCALE_35

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

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

DOWNSCALE_40

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

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

DOWNSCALE_45

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

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

DOWNSCALE_50

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

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

DOWNSCALE_55

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

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

DOWNSCALE_60

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

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

DOWNSCALE_65

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

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

DOWNSCALE_70

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

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

DOWNSCALE_75

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

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

DOWNSCALE_80

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

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

DOWNSCALE_85

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

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

DOWNSCALE_90

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

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

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

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

사용 설정된 경우 Arrays.asList(...).toArray()를 사용할 때 결과 배열의 구성요소 유형이 기본 배열 요소의 유형이 아닌 Object가 됩니다. 따라서 다음 코드는 ClassCastException을 발생시킵니다.

String[] elements = (String[]) Arrays.asList("one", "two").toArray();

이 경우 결과 배열에서 String를 구성요소 유형으로 유지하려면 대신 Collection.toArray(Object[])를 사용하면 됩니다.

String[] elements = Arrays.asList("two", "one").toArray(new String[0]);

이 변경사항에 관한 자세한 내용은 Android 15 동작 변경사항 페이지의 OpenJDK API 변경사항 섹션을 참고하세요.

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

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

사용 설정된 경우 기존 앱에서 ClientTransaction#getActivityToken()의 비 SDK 사용과 관련된 앱 호환성 문제가 발생하지 않도록 LaunchActivityItem 번들만 허용합니다.

ENABLE_MATCH_LOCAL_NETWORK

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

사용 설정하면 앱이 기본적으로 로컬 네트워크에서 네트워크 콜백을 수신합니다. Android 14 (API 수준 34) 이하를 타겟팅하는 앱도 로컬 네트워크에서 ConnectivityManager.NetworkCallback를 수신하려면 NetworkRequestNetworkCapabilitiesNetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK를 추가해야 합니다.

ENABLE_STRICT_FORMATTER_VALIDATION

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

사용 설정하면 이제 String.format()Formatter.format() API를 사용할 때 인수 색인, 플래그, 너비, 정밀도의 유효성 검사가 더 엄격해집니다.

이 변경사항에 관한 자세한 내용은 Android 15 동작 변경사항 페이지의 OpenJDK API 변경사항 섹션을 참고하세요.

ENFORCE_EDGE_TO_EDGE

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

이 기능을 사용 설정하면 Android 15 이상을 실행하는 기기에서 앱이 기본적으로 전체 화면으로 표시됩니다.

이 변경사항에 관한 자세한 내용은 Android 15 동작 변경사항 페이지의 전체 화면 적용 섹션을 참고하세요.

ENFORCE_STRICT_QUERY_BUILDER

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

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

FGS_BOOT_COMPLETED_RESTRICTIONS

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

사용 설정하면 다음을 제외한 모든 유형의 BOOT_COMPLETED 브로드캐스트에서 포그라운드 서비스 백그라운드 시작이 사용 중지됩니다.

이 변경사항에 관한 자세한 내용은 Android 15 동작 변경사항 페이지의 포그라운드 서비스를 실행하는 BOOT_COMPLETED broadcast receiver에 관한 제한사항 섹션을 참고하세요.

FGS_INTRODUCE_TIME_LIMITS

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

사용 설정하면 특정 유형의 포그라운드 서비스에 시간 제한이 적용됩니다. 문제가 되는 유형의 포그라운드 서비스가 할당된 시간 제한 내에 중지되지 않으면 Service.onTimeout(int, int)를 사용하여 콜백을 수신하게 되며, 그러면 몇 초 이내에 중지되어야 합니다. 이렇게 하지 못한 앱은 ANR로 선언됩니다.

이 변경사항에 관한 자세한 내용은 Android 15 동작 변경사항 페이지의 데이터 동기화 미디어 처리 포그라운드 서비스 유형의 시간 초과 동작에 관한 섹션을 참고하세요.

FGS_SAW_RESTRICTIONS

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

사용 설정하면 시스템 오버레이 창이 이미 있는 경우를 제외하고 모든 유형에 대해 시스템 알림 창에서 포그라운드 서비스 백그라운드 시작이 사용 중지됩니다.

이 변경사항에 관한 자세한 내용은 Android 15 동작 변경사항 페이지의 앱이 SYSTEM_ALERT_WINDOW 권한을 보유하는 동안 포그라운드 서비스 시작에 관한 제한사항 섹션을 참고하세요.

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 가이드를 참고하세요.

IS_DEVICE_OWNER_USER_AWARE

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

사용 설정되면 isDeviceOwnerApp(String) 메서드는 컨텍스트 내에 포함된 사용자를 사용합니다. Android 14 (API 수준 34) 이하를 타겟팅하는 앱의 경우 호출 프로세스의 사용자가 사용됩니다(Process.myUserHandle()).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

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

사용 설정하면 앱에서 더 이상 사용자 설정을 수정하거나 DND 모드를 사용 중지하는 방식으로 기기에서 방해 금지 모드(DND)의 전체 상태 또는 정책을 변경할 수 없습니다. 대신 앱은 AutomaticZenRule를 제공해야 하며, 시스템은 이를 기존의 가장 제한적인 정책이 우선하는 스킴과 함께 글로벌 정책으로 결합합니다.

이 변경사항에 관한 자세한 내용은 Android 15 동작 변경사항 페이지의 앱이 방해 금지 모드의 전역 상태를 수정할 수 있는 시점 변경사항 섹션을 참고하세요.

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 모드에서 사용 설정됩니다.

OVERRIDE_ANY_ORIENTATION

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

사용 설정하면 이 변경을 통해 활동에서 요청한 방향과 관계없이 다음 방향 재정의를 적용할 수 있습니다.

OVERRIDE_ANY_ORIENTATION_TO_USER

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

사용 설정하면 SCREEN_ORIENTATION_USER가 사용 설정됩니다. 이는 활동에서 요청한 방향을 재정의합니다. 이 재정의로 ignoreOrientationRequest가 사용 설정된 대형 화면 기기에서 고정 방향 앱을 전체 화면으로 재정의할 수 있습니다.

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

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

사용 설정하면 고정 방향 앱의 자유 형식 윈도잉 모드에서 재정의가 적용되는 패키지를 카메라 호환성 처리에서 제외합니다.

자유 형식 창 모드에서 호환 처리는 앱 창을 레터박스 처리하고 카메라 특성을 앱이 세로 모드 기기에서 일반적으로 예상하는 특성(후면 카메라의 경우 90도, 전면 카메라의 경우 270도 센서 회전)으로 변경하여 세로 모드 기기에서 실행되는 것을 에뮬레이션합니다. 디스플레이 회전은 0으로 설정합니다.

이 플래그를 사용하여 처리에 잘 반응하지 않는 앱의 호환성 처리를 사용 중지합니다.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

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

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

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

이 변경사항을 사용 설정하면 변경사항이 적용되는 패키지가 기본 카메라 회전 및 자르기 동작을 재정의하고 항상 CaptureRequest.SCALER_ROTATE_AND_CROP_NONE를 반환하도록 강제합니다.

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

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

사용 설정하면 사용자가 MediaProjection 세션을 시작할 때 단일 앱 또는 전체 화면을 캡처할지 선택할 수 있는 옵션이 표시되며 MediaProjectionConfig#createConfigForDefaultDisplay의 사용이 재정의됩니다.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

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

적용된 앱에 SCREEN_ORIENTATION_REVERSE_LANDSCAPE를 사용 설정합니다. OVERRIDE_ANY_ORIENTATION도 사용 설정되지 않으면 SCREEN_ORIENTATION_REVERSE_LANDSCAPE는 활동에서 가로 모드를 지정하는 경우에만 사용됩니다. 이 변경사항을 사용 설정하면 가로 모드 방향이 Surface.ROTATION_90에 해당하는 기기와 Surface.ROTATION_270에 해당하는 기기 간에 앱 동작의 차이를 테스트하는 데 도움이 됩니다.

OVERRIDE_LAYOUT_IN_DISPLAY_CUTOUT_MODE

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

사용 설정하면 디스플레이 컷아웃 모드 동작에서 레이아웃을 재정의합니다. 이는 전체 화면이 적용되지 않는 경우에만 적용됩니다.

OVERRIDE_MIN_ASPECT_RATIO

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

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

앱 패키지에 이 변경사항을 사용 설정하면 앱의 매니페스트 값이 더 높지 않은 한 앱의 매니페스트에 지정된 최소 가로세로 비율이 사용 설정된 최대 가로세로 비율로 재정의됩니다.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

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

사용 설정하면 사용 가능한 모든 화면 공간을 사용하기 위해 세로 모드 전체 화면에서 최소 가로세로 비율 제한을 재정의합니다.

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_ONLY_FOR_CAMERA

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

사용 설정하면 지정된 최소 가로세로 비율을 강제 적용하는 처리가 앱이 카메라에 연결된 경우에만 적용되도록 제한합니다.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

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

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

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

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

이 변경사항을 사용 설정하면 기기 제조업체가 설정할 수 있는 방향 무시 제한사항에서 적용되는 패키지가 제외됩니다.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

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

적용된 앱에 SCREEN_ORIENTATION_NOSENSOR를 사용 설정합니다. OVERRIDE_ANY_ORIENTATION도 사용 설정되지 않은 경우 SCREEN_ORIENTATION_NOSENSOR는 활동이 다른 고정 방향을 지정하지 않는 경우에만 사용됩니다.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

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

적용된 앱에 SCREEN_ORIENTATION_PORTRAIT를 사용 설정합니다. OVERRIDE_ANY_ORIENTATION도 사용 설정되지 않으면 SCREEN_ORIENTATION_PORTRAIT는 활동에서 다른 고정 방향을 지정하지 않은 경우에만 사용됩니다.

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

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

사용 설정하면 RFC 6266을 준수하는 Content-Disposition 헤더를 파싱할 수 있습니다. 특히 이를 통해 다른 문자 인코딩을 사용할 수 있는 filename* 값을 파싱할 수 있습니다.

RATE_LIMIT_TOASTS

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

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

STREAM_INT_DIFFERS_FROM_NEXT_INT

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

사용 설정하면 이제 Random.ints() 메서드가 Random.nextInt() 메서드와 다른 숫자 시퀀스를 반환합니다. 이는 https://bugs.openjdk.org/browse/JDK-8301574의 변경사항에 따른 것입니다.

이 변경사항에 관한 자세한 내용은 Android 15 동작 변경사항 페이지의 OpenJDK API 변경사항 섹션을 참고하세요.

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

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

USE_NEW_ISO_LOCALE_CODES

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

사용 설정하면 히브리어, 이디시어, 인도네시아어의 언어 코드가 더 이상 사용되지 않는 형식 (히브리어: iw, 이디시어: ji, 인도네시아어: in)으로 변환되지 않습니다.

이 변경사항에 관한 자세한 내용은 Android 15 동작 변경사항 페이지의 OpenJDK API 변경사항 섹션을 참고하세요.