Wear OS 4용 앱의 타겟 SDK 버전 업데이트

Wear OS 4에 맞게 앱을 준비하기 위해 앱을 업데이트한 후에는 Android 13(API 수준 33)을 타겟팅하여 이 Wear OS 버전과의 앱 호환성을 더욱 개선할 수 있습니다.

타겟 SDK 버전을 업데이트하는 경우 Android 12 이상을 타겟팅하는 앱과 Android 13 이상을 타겟팅하는 앱에 적용되는 시스템 동작 변경사항을 처리해야 합니다. 특히 이 가이드의 후반부에서 설명하는 권한 변경사항과 앱 구성요소 및 탐색 동작 변경사항을 고려하세요.

빌드 파일 업데이트

타겟 SDK 버전을 업데이트하려면 모듈 수준 build.gradle 또는 build.gradle.kts 파일을 열고 Android 13 값으로 업데이트합니다.

빌드 파일에서 값의 형식을 지정하는 방법은 사용 중인 AGP(Android Gradle 플러그인)의 버전에 따라 다릅니다.

AGP 7.0.0 이상

AGP 7.0.0 이상을 사용하는 경우 앱의 build.gradle 또는 build.gradle.kts 파일을 다음과 같은 Android 13 값으로 업데이트합니다.

Groovy

android {
    compileSdk 33
    ...
    defaultConfig {
        targetSdk 33
    }
}

Kotlin

android {
    compileSdk = 33
    ...
    defaultConfig {
        targetSdk = 33
    }
}

AGP 4.2.0 이하

AGP 4.2.0 이하를 사용 중인 경우 앱의 build.gradle 또는 build.gradle.kts 파일을 다음과 같은 Android 13 값으로 업데이트합니다.

Groovy

android {
    compileSdkVersion "33"
    ...
    defaultConfig {
        targetSdkVersion "33"
    }
}

Kotlin

android {
    compileSdkVersion = "33"
    ...
    defaultConfig {
        targetSdkVersion = "33"
    }
}

권한 변경사항

이 섹션에는 Android 13을 타겟팅한 후 앱에 영향을 주는 권한에 관한 몇 가지 변경사항이 나와 있습니다.

백그라운드 생체 신호 센서 권한

백그라운드에서 심박수와 같은 일반적인 생체 신호 센서의 정보를 가져오려면 BODY_SENSORS_BACKGROUND 권한을 요청합니다.

자세한 내용은 생체 신호 센서에 대한 백그라운드 액세스 요청 가이드를 참고하세요.

정확한 알람 권한

정확하게 시간이 지정된 알람(정확한 알람이라고도 함)을 사용하려면 USE_EXACT_ALARM 또는 SCHEDULE_EXACT_ALARM 권한을 선언해야 합니다.

앱의 핵심 기능이 정확한 알람(예: 알람 시계 앱 또는 캘린더 앱)에 의존하지 않는 이상 부정확한 알람을 사용하세요. 대부분의 앱은 부정확한 알람을 사용하여 작업과 이벤트를 예약할 수 있습니다.

정확한 알람을 설정하는 방법을 자세히 알아보세요.

세분화된 미디어 권한

앱에서 다른 앱에서 만든 미디어 파일에 액세스해야 한다면 READ_EXTERNAL_STORAGE 권한 대신 READ_MEDIA_*로 시작하는 세분화된 미디어 권한을 요청해야 합니다. 이전에 앱에 READ_EXTERNAL_STORAGE 권한이 부여되었다면 시스템은 필요한 세분화된 미디어 권한을 자동으로 부여합니다.

세분화된 미디어 권한에 관해 자세히 알아보세요.

앱 구성요소 및 탐색 변경사항

이 섹션에는 Android 13을 타겟팅한 후 앱에 영향을 미치는 앱 구성요소 및 탐색 동작에 관한 여러 변경사항이 나열되어 있습니다.

앱 구성요소 내보내기 요구사항

앱에 인텐트 필터를 사용하는 활동, 서비스 또는 broadcast receiver가 포함된 경우 이러한 앱 구성요소의 android:exported 속성을 명시적으로 선언해야 합니다.

더 안전한 구성요소 내보내기에 관해 자세히 알아보세요.

대기 중인 인텐트의 변경 가능 여부 지정

앱의 각 PendingIntent 객체의 변경 가능 여부를 지정해야 합니다. 대부분의 경우 변경 불가능한 PendingIntent 객체를 사용하여 인텐트 내부의 데이터 무결성을 보호합니다.

대기 중인 인텐트의 변경 가능 여부 지정 방법을 자세히 알아보세요.

포그라운드 서비스 실행 제한

대부분의 경우 앱은 백그라운드에서 실행되는 동안 포그라운드 서비스를 시작할 수 없습니다.

백그라운드에서 포그라운드 서비스를 시작할 때 적용되는 제한사항에 관해 자세히 알아보세요.

알림 트램펄린 제한사항

사용자가 알림과 상호작용한 후에는 서비스나 broadcast receiver 내부에서 startActivity()를 호출할 수 없습니다. 이러한 전면 광고 앱 구성요소는 활동을 실행하는 기능뿐이며 이 구성요소를 알림 트램펄린이라고 합니다.

알림 트램펄린 제한사항에 관해 자세히 알아보세요.