Android & Kotlin

Android 13 알아보기 (Target SDK 33 으로 변경)

쉽코기 2022. 11. 11. 19:02

목적

target sdk 를 33으로 올림에 있어 꼭 알아야할 부분에 대해 정리해보자

 

개발 환경 구성

  • 안드로이드 스튜디오 업데이트
  • SDK 설치
    • Tools > SDK Manager > SDK Platforms → Android API 33 다운로드
    • Tools > SDK Manager > SDK Tools → Android SDK Build-Tools 33 다운로드
  • Android 13 Emulator 세팅

 

알림 런타임 권한

  • Android 13 미만
    • 앱 설치시 Notification 을 띄울 수 있었음
    • Notification 권한을 갖는 것이 기본
  • Android 13 이후
    • runtime permission 을 받아야만 notification 을 띄울 수 있음
    • Notification 권한이 없는 것이 기본
    • POST_NOTIFICATIONS 를 통한 권한 획득 필요
  • 13미만 에서 13 이상 으로 업그레이드 시나리오
    • notification 비활성화시 → POST_NOTIFICATIONS 권한 off 세팅
    • 기본상태 및 활성화 상태시 → POST_NOTIFICATIONS 권한 on 세팅
  • 현재 앱 에 적용할 사항 
    • 알림 기능을 사용하기때문에 Android 13 에 대한 권한 획득 코드 추가가 필요함
    • runtime permission 인 만큼 여러 notification을 사용하게 변경 될 경우 적절한 채널 분리가 필요함

 

세분화 된 미디어 파일 권한

  • Android 13 미만
    • READ_EXTERNAL_STORAGE 을 통한 읽기 권한 획득 가능
  • Android 13 이후
    • Image, Video, Audio 각각에 대해 권한을 얻어야함
    • READ_MEDIA_IMAGES, READ_MEDIA_VIDEO, READ_MEDIA_AUDIO
  • 13 미만 에서 13이상 으로 업그레이드 시나리오
    • READ_EXTERNAL_STORAGE 권한 있는 경우: 세분화된 모든 권한을 얻게 됨
    • READ_EXTERNAL_STORAGE 권한 없는 경우: 세분화되어 요청하는 런타임 권한 알림 띄움
  • 현재 앱 에 적용할 사항 : 현재로서 없음
    • 현재까지는 다른 앱에서 만든 미디어 파일에 대한 액세스가 필요 없는 상태로 적용 사항 없음

인텐트 필터가 일치하지 않는 인텐트를 차단

  • Android 13 에 대한 암시적 Intent 사용법
    • 기존에도 IntentFilter 와 일치할 때만 실행 됐기 때문에 상관 없음
  • Android 13 에 대한 명시적 Intent 사용법
    • intent-filter 와 동일한 action 및 category 와 일치하는 intent 만들어 사용하기
    • action, category 데이터 제외하고 사용하기

https://developer.android.com/about/versions/13/behavior-changes-all#security

 

동작 변경사항: 모든 앱  |  Android 개발자  |  Android Developers

모든 앱에 영향을 주는 Android 13의 변경사항을 알아봅니다.

developer.android.com

  • 현재 앱 에 적용할 사항  : 현재로서 없음
    • 명시적 Intent 사용시 잘못된 인텐트 필터 값을 추가하지 않도록 주의 필요

 


그 외 변경 사항

WebViews

  • 앱 색상 테마가 WebView 에 자동 적용 될 수 있게 됨

BatteryOptimiztions

  • 앱 상 배터리 운용 상태가 “Restricted “ 일때 앱이 시작되기전에는 BOOT_COMPLETED , LOCKED_BOOT_COMPLETED 브로드캐스트를 전달 하지 않는다.

Foreground Service Task Manager

  • 포그라운드 서비스에 대해서 동작을 정지 시킬 수 있는 버튼이 nofication 에 포함됨

 

참고

https://developer.android.com/about/versions/13/behavior-changes-13?hl=ko 

 

동작 변경사항: Android 13 이상을 타겟팅하는 앱  |  Android 개발자  |  Android Developers

Android 13 이상을 타겟팅하는 앱에 영향을 미치는 Android 13의 변경사항을 알아봅니다.

developer.android.com

https://medium.com/tech-takeaways/migrating-my-app-to-android-13-f5ad0649d23d

 

Migrating My App To Android 13

Lessons Learned from updating my app to targetSdkVersion 33

medium.com