8월 31일부터 targetSdk 36이 의무입니다
2026년 8월 25일
* 안드로이드 앱을 내는 경우에 해당합니다.
targetSdk가 뭔가
안드로이드는 해마다 새 판이 나오고, 판이 바뀔 때마다 규칙도 바뀝니다. 위치를 물어보는 방법, 알림을 띄우기 전에 받아야 하는 허락, 화면을 어디까지 쓸 수 있는지 같은 것들.
규칙이 바뀔 때마다 예전 앱이 전부 고장 나면 곤란합니다. 그래서 안드로이드는 앱에 이것을 적게 합니다. 「나는 몇 년도 판 규칙에 맞춰 만들었습니다」. 이 숫자가 targetSdk입니다. 폰은 그 숫자를 보고 그 시절 규칙을 적용합니다. 새 폰에서 옛날 앱이 그대로 도는 이유.
건물로 치면 준공 연도에 가깝습니다. 소방법이 바뀌어도 예전에 지은 건물을 다 뜯지 않고 지을 때 기준으로 봅니다. 대신 새로 짓는 건물은 새 기준을 따릅니다.
숫자는 판 이름이 아니라 순번. 안드로이드 14가 34, 15가 35, 16이 36입니다.
targetSdk는 「이 앱이 돌아가는 최소 안드로이드」가 아닙니다. 그건 minSdk라는 다른 숫자입니다. targetSdk를 36으로 올려도 낮은 버전 폰에서 안 돌게 되지 않습니다.
마감

| 언제부터 | 2026년 8월 31일 |
| 무엇이 | 새 앱과 앱 업데이트 |
| 조건 | 안드로이드 16(API 36) 이상을 겨냥 |
| 이미 올라간 앱 | API 35 이상이면 유지 |
| 34 이하인 앱 | 더 높은 안드로이드를 쓰는 기기에서 새 사용자에게 안 보임 |
시간이 더 필요하면 11월 1일까지 연장을 신청할 수 있고, 신청서는 연내에 Play Console에 열린다고 합니다.
두 줄로 안 끝나는 이유
고치는 자리는 설정 파일 두 줄입니다. 그런데 API 35부터 화면을 끝까지 채우는 방식이 강제입니다. 숫자만 올리면 앱 제목이 상태 표시줄 밑으로 깔립니다.
- 컴퓨터 화면에서는 안 드러납니다. 실기기에서만 보입니다
- 상태 표시줄과 아래 제스처 바가 차지하는 자리를 코드로 비워줘야 합니다
- 값: 코드는 30분. 실기기 확인은 별도
- 근거: Meet Google Play's target API level requirement
웹을 감싼 앱은 한 겹 더
웹 화면을 앱으로 감싸는 방식(Capacitor 같은 것)을 쓴다면 감싸는 도구의 버전도 봐야 합니다. 안드로이드 16은 시스템 바 인셋 동작이 달라졌고, 옛 버전 도구는 그것을 정리해두지 않았습니다.
- 함정: 웹에서 쓰는
env(safe-area-inset)값은 안드로이드 웹뷰에서 0입니다.
그 값에 기대 여백을 잡아뒀다면 화면이 상태 표시줄 밑으로 깔립니다
확인 상태
| 실제로 겪음 | 숫자만 올렸다가 화면이 깔린 것, 실기기에서만 드러난 것 |
| 문서로만 확인 | 연장 신청 절차 |