Android 앱은 스마트폰, 태블릿, 폴더블, Chromebook, 자동차, TV, XR 등 모든 종류의 기기에서 실행됩니다. 이러한 다양한 환경에 적응하려면 앱이 모든 기기 폼 팩터와 디스플레이 크기를 지원해야 합니다.
Android 16 (API 수준 36)을 사용하면 앱이 화면 방향, 가로세로 비율, 크기 조절 가능성에 대한 앱 제한을 재정의하여 다양한 폼 팩터와 디스플레이 크기에 맞게 조정할 수 있습니다. 재정의는 최소 너비가 600dp를 초과하는 기기에 적용되며 다음을 정의합니다.
- 태블릿
- 대형 화면 폴더블의 내부 디스플레이
- 데스크톱 창 모드 (모든 폼 팩터)
API 수준 36을 타겟팅하는 앱은 크기를 조절할 수 있으며 디스플레이의 최소 너비가 600dp 이상인 경우 멀티 윈도우 모드 (resizeableActivity="true"
와 동일)로 전환할 수 있습니다.

Android 16은 기기 방향, 가로세로 비율, 디스플레이 크기에 관한 사용자 환경설정을 준수하여 사용자 환경을 최적화하는 일관된 적응형 앱 디자인 모델을 시행합니다.
변경사항
대형 화면에서 Android 16 (API 수준 36)을 타겟팅하는 앱의 경우 다음 매니페스트 속성과 API가 무시됩니다.
속성 또는 API | 무시된 값 |
---|---|
screenOrientation |
portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape |
resizeableActivity |
모두 |
minAspectRatio |
모두 |
maxAspectRatio |
모두 |
setRequestedOrientation() getRequestedOrientation() |
portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape |
예외
Android 16 변경사항의 예외는 다음과 같습니다.
sw600dp보다 작은 디스플레이 (대부분의 휴대전화, 플립형 스마트폰, 대형 화면 폴더블의 외부 디스플레이)
android:appCategory
플래그를 기반으로 하는 게임Android App Bundle 및 Play 앱 서명을 사용하여 게임을 게시하면 Google Play에서 플래그를 관리하고 App Bundle의 이점을 자동으로 제공할 수 있습니다. 앱 매니페스트 개요도 참고하세요.
사용자가 가로세로 비율 설정에서 앱의 기본 동작을 선택함
선택 해제
API 수준 36 동작을 선택 해제하려면 PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY
매니페스트 속성을 선언합니다.
특정 활동을 선택 해제하려면 <activity>
요소에서 속성을 설정합니다.
<activity ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</activity>
앱 전체에서 선택 해제하려면 <application>
요소에서 속성을 설정합니다.
<application ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</application>
테스트
앱이 Android 16 변경사항의 영향을 받는지 테스트하려면 Android 스튜디오에서 Pixel Tablet 및 Pixel Fold 시리즈 에뮬레이터를 사용하고 앱의 모듈 build.gradle
파일에서 targetSdkPreview = "Baklava"
를 설정하세요.
또는 UNIVERSAL_RESIZABLE_BY_DEFAULT 플래그를 사용 설정하여 테스트 기기에서 앱 호환성 프레임워크를 사용합니다 (호환성 프레임워크 도구 참고).
Espresso 테스트 프레임워크와 Jetpack Compose 테스트 API를 사용하여 테스트를 자동화할 수 있습니다.
일반적인 문제
기기 방향, 가로세로 비율 또는 앱 크기 조절 가능 여부를 제한하는 앱은 Android 16에서 겹치는 레이아웃과 같은 디스플레이 문제가 발생할 수 있습니다.
휴대전화, 폴더블, 태블릿, Chromebook, 자동차 디스플레이 또는 XR에서 최적의 사용자 환경을 제공하려면 반응형 및 적응형으로 앱을 빌드하세요.
UI 구성요소 늘리기 피하기: 표준 세로 모드 휴대전화 화면에 맞게 설계된 레이아웃은 다른 가로세로 비율을 수용할 수 없을 가능성이 높습니다. 예를 들어 디스플레이의 전체 너비를 채우는 UI 요소는 가로 모드 방향에서 늘어난 것처럼 표시됩니다. 늘어나지 않도록 구성요소에 최대 너비를 추가합니다.
스크롤하도록 레이아웃 사용 설정: 레이아웃이 스크롤되지 않으면 사용자가 가로 모드 방향에서 화면 밖의 버튼이나 기타 UI 요소에 액세스하지 못할 수 있습니다. 디스플레이 높이와 관계없이 모든 콘텐츠에 액세스할 수 있도록 앱 레이아웃이 스크롤되도록 사용 설정합니다.
세로 모드와 가로 모드에서 카메라 호환성 보장: 카메라 센서에 대해 특정 가로세로 비율과 방향을 가정하는 카메라 뷰파인더 미리보기는 비규격 디스플레이에서 미리보기가 늘어나거나 뒤집힐 수 있습니다. 방향 변경 시 뷰파인더가 올바르게 회전하는지 확인합니다. 뷰파인더가 센서 가로세로 비율과 다른 UI 가로세로 비율에 맞게 조정되도록 사용 설정합니다.
창 크기 변경 중에 상태 유지: 방향 및 가로세로 비율 제한을 삭제하면 사용자가 앱을 사용하는 방식(예: 기기 회전, 접기, 펼치기 또는 멀티 윈도우 또는 데스크톱 창 모드에서 앱 크기 조절)에 따라 앱 창 크기가 자주 변경될 수 있습니다. 방향 변경 및 창 크기 조절과 같은 구성 변경으로 인해 기본적으로 활동이 다시 생성됩니다. 최적의 사용자 환경을 보장하려면 구성 변경 중에 앱 상태를 보존하여 앱이 데이터 (예: 양식 입력)를 유지하고 사용자가 컨텍스트를 유지할 수 있도록 하세요.
창 크기 클래스 사용: 기기별 맞춤설정 없이 다양한 창 크기와 가로세로 비율을 지원합니다. 창 크기가 자주 변경된다고 가정합니다. 창 크기 클래스를 사용하여 창 크기를 특성화한 다음 적절한 적응형 레이아웃을 적용합니다.
반응형 레이아웃 빌드: 창 크기 클래스 내에서 반응형 레이아웃은 디스플레이 크기의 변경사항에 맞게 조정되어 항상 최적의 앱 프레젠테이션을 만듭니다.
타임라인
Android 16 (2025): 모든 방향 및 가로세로 비율과 앱 크기 조절 지원은 API 수준 36을 타겟팅하는 앱의 대형 화면 기기(가장 작은 화면 너비 600dp 이상)의 기준 환경입니다. 그러나 개발자는 선택 해제할 수 있습니다.
2026년 Android 출시: 모든 방향 및 가로세로 비율 지원과 앱 크기 조절 가능 여부는 API 수준 37을 타겟팅하는 앱의 대형 화면 기기 (가장 작은 화면 너비 600dp 이상)의 기준 환경이 됩니다. 개발자는 선택 해제할 수 없습니다.
대상 API 수준 | 대상 기기 | 개발자 선택 해제 허용됨 |
---|---|---|
36 (Android 16) | 대형 화면 기기 (가장 작은 화면 너비 >= 600dp) | 예 |
37 (예상됨) | 대형 화면 기기 (가장 작은 화면 너비 >= 600dp) | 아니요 |
특정 API 수준을 타겟팅하는 기한은 앱 스토어마다 다릅니다. Google Play에서는 2026년 8월부터 앱이 API 수준 36을, 2027년 8월부터 API 수준 37을 타겟팅하도록 요구합니다.