최근 수정 시각 : 2022-06-28 00:24:48

안드로이드 킷캣

이 문서는
이 문단은
토론을 통해 안드로이드 버전 하위 문서의 표제어는 각각 ‘<제품명> <버전명>’(예시: 안드로이드 마시멜로\(으)로 합의되었습니다. 합의된 부분을 토론 없이 수정할 시 제재될 수 있습니다.
아래 토론들로 합의된 편집방침이 적용됩니다. 합의된 부분을 토론 없이 수정할 시 제재될 수 있습니다.
[ 내용 펼치기 · 접기 ]
||<table width=100%><table bordercolor=#ffffff,#1f2023><bgcolor=#ffffff,#1f2023><(> 토론 - 안드로이드 버전 하위 문서의 표제어는 각각 ‘<제품명> <버전명>’(예시: 안드로이드 마시멜로\
토론 - 합의사항2
토론 - 합의사항3
토론 - 합의사항4
토론 - 합의사항5
토론 - 합의사항6
토론 - 합의사항7
토론 - 합의사항8
토론 - 합의사항9
토론 - 합의사항10
토론 - 합의사항11
토론 - 합의사항12
토론 - 합의사항13
토론 - 합의사항14
토론 - 합의사항15
토론 - 합의사항16
토론 - 합의사항17
토론 - 합의사항18
토론 - 합의사항19
토론 - 합의사항20
토론 - 합의사항21
토론 - 합의사항22
토론 - 합의사항23
토론 - 합의사항24
토론 - 합의사항25
토론 - 합의사항26
토론 - 합의사항27
토론 - 합의사항28
토론 - 합의사항29
토론 - 합의사항30
토론 - 합의사항31
토론 - 합의사항32
토론 - 합의사항33
토론 - 합의사항34
토론 - 합의사항35
토론 - 합의사항36
토론 - 합의사항37
토론 - 합의사항38
토론 - 합의사항39
토론 - 합의사항40
토론 - 합의사항41
토론 - 합의사항42
토론 - 합의사항43
토론 - 합의사항44
토론 - 합의사항45
토론 - 합의사항46
토론 - 합의사항47
토론 - 합의사항48
토론 - 합의사항49
토론 - 합의사항50
||


파일:안드로이드(운영체제) 로고.svg
안드로이드 버전
{{{#!wiki style="margin:0 -10px -5px"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-6px -1px -11px"
{{{#black,#e5e5e5
0.5
버전 0.5
0.9
버전 0.9
1.0
버전 1.0
1.1
Petit Four
프티푸르
1.5
Cupcake
컵케이크
1.6
Donut
도넛
2.0~2.1
Eclair
에클레어
2.2
Froyo
프로요
2.3
Gingerbread
진저브레드
3.0~3.2
Honeycomb
허니콤
4.0
Ice Cream Sandwich
아이스크림 샌드위치
4.1~4.3
Jelly Bean
젤리빈
4.4
Kitkat
킷캣
5.0~5.1
Lollipop
롤리팝
6.0
Marshmallow
마시멜로
7.0~7.1
Nougat
누가
8.0~8.1
Oreo
오레오
9.0
Pie
파이
10.0
Quince Tart
10
11.0
Red Velvet Cake
11
12.0~12.1
Snow Cone
12
13.0
Tiramisu
13
}}}}}}}}}}}} ||

역대 안드로이드 버전 일람
젤리빈 킷캣 롤리팝
Android Kitkat
안드로이드 킷캣
파일:안드로이드 킷캣 로고.svg
<colbgcolor=#32DE84><colcolor=#FFFFFF> 명칭 킷캣 (KitKat)
버전 4.4 (API Level 19)
4.4.1
4.4.2
4.4.3
4.4.4
리눅스 커널 3.4
공개 일자 2013년 9월 4일
지원 여부 지원 중단
최초 적용 기기 넥서스 5

1. 출시 과정2. 주요 특징 및 변경 사항3. 알려진 문제점
3.1. 저장소 구조의 대개편, 그리고 SD카드 사용시의 대혼란
4. 패치 사항5. 적용 기기6. 점유율7. 이스터에그8. 기타

[clearfix]

1. 출시 과정

파일:BXG505G.png 파일:fLZ5toHr.jpg
5.0 '키 라임 파이'[1]로 알려졌던 젤리빈의 후속 빌드는 ICS 이래로 끝없이 루머가 돌았지만 공개된 정보는 아무 것도 없었다. 일각에서는 갤럭시 S4에 적용될 것이라고 예상했으나 거기엔 4.2 젤리빈이 장착되었다. 2013년 5월에 개최한 구글 I/O에서 발표할 가능성이 높은 것으로 알려졌으나 키 라임 파이는 커녕 4.3 젤리빈 프레젠테이션도 없었다. 하지만 유출 스크린샷들을 보면 키 라임 파이의 흔적들이 남아있고 실제로 개발 도중에는 키 라임 파이라는 이름을 사용했다는 증거도 발견되었다.

그리고 2013년 9월 4일 뜬금없이 킷캣이라는 이름으로 발표되었다.[2] 구글의 John Lagerling이 BBC에 말하길,[3] 키 라임 파이를 모르거나 알더라도 못 먹어 본 사람이 많아서 킷캣으로 바꿨다고. 그리고 안드로이드 마케팅 대표 Marc Vanlerberghe가 말하길, 우리는 안드로이드 초창기 때부터 팀 구성원들로부터 인기였던 맛있는 초콜릿 킷캣보다 더 나은 안드로이드 K의 이름을 상상할 수 없었다고 전했다. 몰론 성공했다고 보기에는 뭔가 이상하지만

또한 2013년 9월부터 동년 12월 말까지 경품 행사를 진행했다. 자세한 건 킷캣 문서 참조.

2013년 9월 16일에는 구글 직원의 실수로 술집에 킷캣이 탑재된 기기를 놓고 가버렸는데 그게 유출되었다. 그러나 패턴 잠금으로 인해 자세한 내용을 확인할 수는 없었다고.

2013년 10월 28일 킷캣을 탑재한 넥서스 7/2세대가 블루투스 인증을 통과했다.

현지 시간 2013년 10월 31일 11시 넥서스 5와 함께 발표되었다. # API level 19, 커널 버전은 3.4.0. 공식적으로 업그레이드를 지원하는 레퍼런스 단말기는 넥서스 4, 넥서스 7 시리즈, 넥서스 10, 갤럭시 S4 / HTC ONE Google Edition. 갤럭시 넥서스는 지원에서 제외되었다.

2. 주요 특징 및 변경 사항

5.0이 아닌 마이너 수준 업데이트 버전이라는 점에서 실망하고 분노하는 사람들도 있다. 그러나 마이너 수준은 아닌 것이 안드로이드 같은 경우 UI가 변할 때마다 앞자리 숫자가 바뀌었다. 미미하긴 하지만 1.x대와 2.x대의 차이점을 볼 수 있고 2.x대와 3.x대의 허니컴은 폰에서 태블릿으로 넘어가는 단계였던 만큼 대대적인 변화가 있었다. 또한 3.x대와 4.x대 역시 차이가 있는데 태블릿 UI와 폰 UI를 융합한 것에 의미가 있다. UI의 변화는 단순히 보이는 것만이 바뀌는 것이 아니고 사용자의 사용습관, 트렌드, 기능, 성능 모두 반영이 되는 것이기 때문에 결코 하찮은 업그레이드가 아니다. 때문에 4.3에서 5.0으로 버전업되지 않았지만 코드명이 달라진 이유는 후술할 시스템 전반적인 다이어트 및 가상 머신(달빅에서 ART)을 교체함으로써 추후 버전을 위한 마이너하지만 마이너하지 않은 업그레이드를 위해 한 번 내실을 다진 것으로 해석할 수 있겠다.

자신의 기본 메시지 앱을 선택 할 수 있도록 변경되었다. 간단히 말해서 기본 메시지 앱 대신 다른 메시지 앱을 기본 런처를 선택하듯이 구글 행아웃같은 다른 메시지 앱을 기본 메시지 앱 대신 사용할 수 있다는 말이다. 이는 구글 행아웃을 밀어줌과 동시에 iMessage에 대항하는 것으로 보이며 이것을 활용하면 카카오톡에 SMS를 통합해서 아이메시지처럼 사용할 수도 있다. 그러나 이와 동시에 스팸 메세지를 도중에 가로채서 차단하는 앱들이 죄다 먹통이 되어버렸다.

구글에서 512MB RAM을 탑재한 모델들도 쾌적한 이용이 가능하다고 밝혔다. 실제 램이 적은 기기에서 킷캣의 안정성은 괄목할 만한 수준이다. 드물기는 하지만 256MB램에 킷캣을 탑재한 기기도 있을 정도. 구글 직원의 말로는 아직도 28%나 되는 진저브레드의 점유율을 줄이기 위해서기도 하다고 했는데 이 내용이 과대 해석되어 기존 구형 모델의 4.4 킷캣 업그레이드가 가능해졌다로 와전되어 버렸다. 이 내용은 앞으로 출시될 초저사양 모델들에 최신 운영 체제를 탑재해도 충분히 쾌적하게 이용이 가능하다는 것을 의미하지 이미 제조사가 손놓은 구형 모델에도 최신 운영 체제가 탑재될 것이다 등을 의미하는 게 아니다. 물론 개인이나 커뮤니티에서 구형 모델을 위해 개발된 커스텀 펌웨어를 사용할 경우 구형 모델에도 킷캣을 올릴수 있지만 그것도 잘 알려진 기종[4] 한정이지 일부 내수용이거나 커스텀 펌웨어 개발자들도 모르는 기종의 경우에는... 그저 묵념.

가상 머신을 기존의 달빅 VM에서 ART VM으로 바꾸거나 병행한다고 한다. 이에 따른 성능 향상이 기대된다. ART 관련 설명 기존 Dalvik JIT(Just-In-Time)이 아니라 AOT(Ahead-Of-Time)라는 컴파일 방식으로 속도 향상을 꾀했다.
JIT는 바이트 코드를 실행시에 기계어로 해석해서 돌리는 방식이고 AOT는 미리 기계어로 컴파일한 후 실행 시에는 기계어를 바로 실행시키는 방식이다. 컴파일 방식의 차이 때문에 ART 방식에서는 앱 설치 용량이 증가한다.

기본 런처로 구글 나우 런처를 사용한다. 런처 앱 자체는 4.1 이상의 안드로이드라면 어디에서도 사용 가능.[5] 디자인이 좀 더 미니멀하게 리뉴얼되었으며 좌측으로 스와이프하면 구글 나우가 실행되고 앱 서랍 내의 위젯 탭등이 제거되어 진저브레드 이전의 앱 서랍 형태로 돌아갔다. 아이콘들 역시 좀 더 큼직큼직해졌다.

상단바의 디자인이 하얀색 계통으로 수정되고 이 버전부터 배터리 아이콘이 코드화되어 커스텀이 어려워졌다. 다만 아이콘 형태 자체를 바꾸는 것이 어려워졌을 뿐 오히려 아이콘의 색은 훨씬 쉽게 바꿀 수 있도록 변경되었다. 삼성 터치위즈는 원래부터 레퍼런스 아이콘에서 색만 바꾼 것을 아이콘으로 사용하고 있었으므로 킷캣에서도 기존 색을 유지할 것으로 예상되었으나 구글 레퍼런스를 따르기로 한 것인지 기본 아이콘을 그대로 사용한다. 또한 허니콤/ICS부터 도입된 SD카드의 권한 구조 변경이 완전히 적용되었는데, 이는 후술한다.

이 버전부터 보안 업데이트가 라이브러리화되었다. 해당 버전부터 안드로이드 보안 패치[6]가 도입된 것을 보면 알 수 있는 부분. 그 이전에는 구글 혹은 제조사에서 운영 체제에 통합되어있는 코드를 수정해야 해서 비효율적이였던 탓인지 따로 분리하여 모듈화를 한 것으로 보인다.



안드로이드 4.4 킷캣에 추가된 기능은
  • 기본 웹 브라우저가 구글 크롬이 됨[7]
  • 스크린 녹화 기능 추가[8]
  • 수정된 안드로이드 디자인 가이드라인 적용[9]
  • 풀스크린 이머시브 모드 추가[10]
  • 애니메이션 프레임워크 개선
  • 스토리지 액세스 프레임워크[11]
  • 홈 설정 가능. 기본적으로 구글 나우 런처로 되어있으며 다운받은 런처 앱으로도 바꿀 수 있다.
  • SMS용 퍼블릭 API 추가. 카카오톡이나 스카이프를 기본 SMS 앱으로 설정할 수 있다. 기본 앱은 구글 행아웃.
  • 적외선 수신기 API 추가. 리모콘이나 적외선 통신 등에 활용할 수 있다. 이미 있고. 다 LG 제품이다
  • NFC 결제 기능 강화
  • 프린트 기능 추가. 화면이나 웹 페이지를 프린터 서버에 보내 출력할 수 있다. 직접 보내서 프린트도 가능하긴 한데 현재 지원하는 프린터가 HP 1대(...).
  • 센서 전력 소모 감소
  • SELinux 설정 변경(permissive→enforcing). 이는 삼성 Knox 등 보안과 관련되어있다.[12]
  • 달빅을 대체할 ART의 개발자 버전 탑재[13]
  • 안드로이드 보안 패치의 라이브러리화
  • 크메르어, 버마어, 암하라어 유니코드 지원

3. 알려진 문제점

3.1. 저장소 구조의 대개편, 그리고 SD카드 사용시의 대혼란

일반 사용자들에게는 "킷캣을 먹였더니 갑자기 SD카드를 쓰는 앱들이 이상해졌다"로 요약되는 문제와 관련된 내용. SD카드를 읽기(Read)만 하는 앱은 문제가 없는데 기록(Write)을 하는 앱들에서 문제가 생긴다. 그런데 이 문제는 좀 복잡하니 어려운 말이 들어가더라도 용어와 전반적인 사정을 설명할 필요가 있다.

구글 개발 문서에서는 내부(internal) 저장소와 외부(external) 저장소의 단어를 일반인들이 생각하는 개념과 전혀 다르게 사용한다. (편의상 본 문서에 한하여 휴대폰 안에 들어있는 메모리는 내 메모리, microSD같은 착탈형 메모리는 외 메모리로 부르겠다. 내부 메모리와 외부 메모리와의 관계는 아래를 읽어보면 알겠지만 과거와 현재가 다르다.)
  • 일반인들이 흔히 말하는 내장 메모리란 스마트폰 살 때 말하는 16기가, 32기가로 말하는 밖으로 뽑을 수 없는 메모리, 즉 안드로이드 시스템이 있고 앱이 깔리는 구역과 /storage/sdcard0에서 볼 수 있는 나머지 구역을 모두 포함하는 개념이다. 용량이 매우 적은/오래된 스마트폰은 다를 수도 있는데...
  • 구글은 앞의 안드로이드 시스템+앱이 깔린것을 내부(internal) 저장소로 뒤의 데이터가 저장되는 것을 외부(external) 저장소 혹은 첫번째 외부 저장소(primary external storage)로 칭한다. 일반인들이 흔히 말하는 외장메모리인 SD카드, microSD카드는 두번째 외부 저장소(secondary external storage)라고 부른다. 그 외 듀얼 슬롯이나 USB OTG 등등 더 붙으면 3,4 외부 저장소가 된다.
  • 초창기 안드로이드가 만들어질 시기에는 메모리 가격이 비쌌다. 따라서 내장메모리는 작을 수밖에 없었고 운영에 필수적인 "내부적인" 시스템 파일은 내장 메모리에 문서 음악같은 데이터는 외장 메모리에 담게 되었다. 이것이 초기 내부 메모리와 외부 메모리 구분이다. 용량이 크고 가격이 싼 SD카드 덕분에 가끔 고용량 앱도 여기 설치되기도 했다. 그러다 메모리 가격 하락/용량 상승으로 내장 메모리에 내부 메모리와 외부 메모리를 같이 담을 수 있게 되었다. 외부에서 접근이 필요없고 오히려 접근을 막아야 하는 내부 시스템은 일반인들에게 보일 필요가 없지만 문서와 음악 등 데이터를 넣는 저장소는 PC, 특히 윈도우에서도 읽을 수 있어야 했다. 그래서 내부 메모리와 외부 메모리가 내장 메모리에 들어왔어도 파티션을 나눠 내부는 리눅스 파티션, 외부는 윈도우( FAT)파티션으로 포맷해서 사용하게 된다. 윈도우 PC에서 리눅스 파티션을 인식할 수 없으니 루팅없이 일반인에게 보여지는 것은 "내장 메모리"="외부 메모리"가 되어버렸다. 앱을 내부 메모리에서 외부 메모리로 옮겼는데, 외장 메모리로 안 옮겨가서 이상해 하는 사람도 있었긴 했는데 별 문제 없어서 그냥 넘어갔다.
  • 안드로이드에서 FAT 포맷을 사용하는것을 환영하지는 않는 듯 하다. 오래된 포맷이라 보안설정을 할 수가 없고 PC와 직접 연결하다보면 실수로 끊어졌을 때 파티션이 꼬이거나 파괴되기도 하기 때문이다. 내부 메모리 용량이 없어서 앱을 외부 메모리로 옮겼다가 앱이 해킹, 변조가 되는 위험도 발생할 수 있다. 파티션이 나눠져 있기 때문에 안드로이드 OS의 용량이 늘어나기도 한다면 파티션을 갈아엎는 대공사를 필요로 할 수도 있다.[14] 무엇보다 FAT는 MS 사유 포맷이라서 로열티를 내다보면 안드로이드는 공짠데 MS가 돈을 버는 그런 상황도 발생하는 문제가 있다.
  • 최근 안드로이드폰 내장 메모리는 내부, 외부 파티션을 나누지 않고 모두 리눅스 포맷으로 되어있다. 내부 저장소, 외부 저장소는 파티션이 아닌 단지 폴더로 나뉘어 있다. PC와 연결은 "대용량 스토리지 연결" 기능이 아닌 MTP 기능으로 처리한다. 느려졌지만 안정성은 높아졌으며네?, 윈도우의 대용량 스토리지 제거 같은 거 안해줘도 된다. 스펙상 내부, 외부 저장소의 차이는 모호해졌으며 접근 권한 정도의 차이만 남겨지게 되었다. FAT 안고 갈 이유도 없어졌고 외장 저장소에 의존할 필요도 없어졌다. 보안상 앱 같은 게 외장 저장소에 설치되는 것을 막을 필요도 있었다.
  • 킷캣에서는 SD 혹은 microSD, 외장 저장소, 즉 두번째 외부 저장소에 대해 조치를 한 것이다.

현재 앱이 외부 저장소에 기록(Write)을 하는 데 있어 2가지 권한이 관련된다. 1번 외부 저장소에 기록하기 위해서는 WRITE_EXTERNAL_STORAGE 권한이 필요한 반면,[15] 2번 외부 저장소에 기록하기 위해서는 WRITE_MEDIA_STORAGE 권한이 필요하다. 원래는 앱이 WRITE_EXTERNAL_STORAGE 권한만 가지고 있어도 1, 2번 외부 저장소 모두에 기록을 할 수 있었지만, 나중에 WRITE_MEDIA_STORAGE 권한이 신설되었다. 뒤에 신설된 권한을 시스템 앱만이 사용할 수 있도록 제한하는 것이 구글의 원래 의도이다. 이 변경은 3.0 때에 적용된 것인데 일부에서는 이런 정책이 무려 1.0 시절부터 예고되어 있었다고 여기기도 한다.

그러나 삼성 등의 기기 제조사들은 권한이 분리되고 나서도 앱에 WRITE_EXTERNAL_STORAGE를 주면 자동으로 WRITE_MEDIA_STORAGE에 준하는 권한을 주는, 구글의 의지에 반하는 제조사 커스텀으로 얼렁뚱땅 넘어가는 꼼수를 써서 서드 파티 앱이 2번 외부 저장소에도 기록을 할 수 있게 했다.[16]

그러나, 구글은 킷캣 이전까지 한번도 공식적으로 두번째 외부 저장소를 지원한 적이 없다. 따라서 2번 외부 저장소 관련 기능은 모조리 제조사들이 멋대로 만들어낸 기능이 되며 구글 입장에서는 원래 안 되는 걸 안 되게 했을 뿐 되던 걸 안 되게 하는 것이 아니게 된다.

이는 2번 외부 저장소를 이용하는 것이 보안상 문제가 되기 때문이다. 안드로이드에서는 유닉스의 계정 개념을 비틀어서 각 앱의 경계를 짓는데 사용하는데(이는 루팅 항목에 상세히 설명되어 있다), 이 계정별로 자기 파일이라고 표시하는 개념이 리눅스의 ext4 파일 시스템이나 윈도우의 NTFS에는 존재한다. 이런 곳에서는 자기 파일이 아닌 곳에 맘대로 드나들 수 없고 보안이 더욱 강화되게 된다. 그러나 외장 메모리는 SD 메모리로 아무 곳에서나 꽂아 쓸 수 있기 때문에 FAT를 기반으로 한 파일 시스템을 사용하며 여기에는 계정 개념이 없다. 따라서 아무나 남의 집에 파일을 쓸 수 있으며 보안 문제가 생기기 쉽다. 루팅 항목에서 설명한 것처럼 앱들 간의 장벽이 깨지는 것이다. FAT가 마이크로소프트의 기술이라서 사용료를 더 내야 한다는 점은 덤.

그러나 이것이 보안상 규제가 필요할 수밖에 없는 문제임에도 불구하고 몇년간 제조사가 열어놓고 구글이 방치하여 회색지대가 된 덕에 앱 개발자들은 구글이 공인한 적도 없는 기능을 토대로 마음껏 내장 메모리와 외장 메모리를 동등하게 사용하는 앱들을 만들었다. 안드로이드 앱 생태계의 거대한 일부분이 사실은 사상누각으로 만들어져 있었던 것이다.

각설하고 킷캣 시기에 벌어진 2번 외부 저장소 관련 이슈는 다음과 같다.
  1. 상기한 WRITE_EXTERNAL_STORAGE 꼼수를 틀어막았다.
    안드로이드 기기는 구글이 인정하는 여러 조건을 만족해야 인증을 받아서 구글 플레이를 포함한 구글 앱을 사용할 수 있는데, 이 조건 중 하나에 안드로이드 앱이 2번 외부 저장소에 기록할 권한를 지정한 장소 이외에 줘서는 안 된다는 것이 ICS 때부터 명시되어 있었지만 지켜지지 않았다. 그런데 킷캣 때부터는 구글이 이를 강력히 규제하기 시작했다.
  2. 앱들은 자기 이름을 딴 디렉토리(/Android/data/패키지이름)를 외부 저장소에 만들어 맘대로 사용할 수 있다. 묻지도 따지지도 않고 말이다.
    1번, 2번을 가리지 않는다. WRITE_EXTERNAL_STORAGE도, READ_EXTERNAL_STORAGE도 필요 없다. 그냥 주는 것이다! 예를 들어, 멜론 앱은 아무 권한 없이 /storage/emulated/0/Android/data/com.iloen.melon 폴더 액세스가 가능하다. 앱 내부에서만 사용하는 각종 데이터를 담아두는데 쓸 만한 방법으로 그렇게 외장 메모리를 사용하던 기존 앱들은 이 방법을 사용하도록 권한 구조를 수정해서 패치하면 된다. 앱을 삭제하면 해당 디렉토리도 알아서 삭제되기 때문에 무슨 개인적 파일 같은 것을 담아놓는 용도로는 부적합하다.
  3. Storage Access Framework(SAF)의 도입.
    윈도우에서 아무 프로그램이나 파일→열기를 하면 대체로 똑같이 생긴 창이 떠서 파일을 고를 수 있을 것이다. 대략 이것의 안드로이드 버전이라고 하면 되는데 여기에 모듈(Provider) 개념이 추가된다. 임의의 저장소를 Provider 앱으로 만들 수만 있다면 해당 저장소는 모두 동등한 방법으로 스마트폰에서 액세스할 수 있는 것이다. Provider가 존재한다면 구글 드라이브, 드롭박스 등의 클라우드 스토리지, 심지어 FTP SMB[17]마저도 구글이 디자인한 UI로 마치 스마트폰에 원래 있던 파일처럼 고를 수 있는 것이다!
    또한 WRITE_MEDIA_STORAGE가 제조사와 구글에만 허용된 특성상 2번 외부 저장소용 Provider를 제조사가 만들어줘야 하는 절차가 있긴 해도 SAF를 잘 이용한다면 SD카드 문제의 해결책이 될 가능성도 없지는 않다. 아니 구글이 뒤를 다 틀어막은 이상 이게 공인된 유일한 해결책이다.

그리고 킷캣 확산 후 외장 SD를 이용하던 유저들은 패닉 상태에 빠졌다. SD카드를 고자로 만든 것에 대한 반응은 대략 구글 넥서스 항목에 나타나는 비하적 표현들을 전국구로 확대한 수준이라 보면 된다(...). 구글 드라이브와 구글 넥서스[18] 팔아먹으려고 한다는 음모론, 안드로이드가 iOS처럼 폐쇄적으로 변한다면서 구글을 욕하는 의견들이 쏟아져나오는 상황이다.

MX Player, QuickPic, Poweramp, FolderSync 등 유명 앱들 상당수가 이 조치의 영향을 받았으며 특히 원래 파일 조작하는 게 일인 파일 관리자 앱들이 대거 타격을 입었다.

위에서 2번으로 나온 조치는 자기 폴더에만 액세스할 수 있어서 전체 SD 저장소를 관리하는 것이 불가능하다. 3번 SAF는 후술할 문제로 인해 활용이 어렵다. 따라서 개발자 입장에서 앱들이 정말로 이 기능이 필요하다면 취약점을 뚫고 억지로 기능을 만들어내는 방식으로 앱을 만드는 방법 말고는 답이 없다. 실제로 그런 방법으로 많은 앱들이 대처를 한 상태이며 주로 위에서 말한 WRITE_MEDIA_STORAGE를 이용한 것으로 생각된다. 방법 Media Scanner는 일반 앱들도 불러올 수 있는데 Media Scanner는 Media Store를 불러올 수 있고 Media Store는 시스템 앱이라서 WRITE_MEDIA_STORAGE 권한을 사용해 원래는 허용되지 않은 SD 조작을 수행할 수 있는 것이다. 토탈 커맨더[19]의 제작자가 발견해낸 것으로 알려져 있다. 다만 취약점으로 만든 것이기 때문에 완전한 작동을 보장하지 않고 갤럭시 S5를 제외한 삼성 갤럭시 기기에서만 작동하는 경우가 태반이다. 완전한 해결이 불가능한 방법인 것이다.

한편 SAF를 대안으로 제시하는 경우도 있으나 이것도 영 신통치 않은 상황이다. 외장 메모리용 Provider가 아직 만들어지지 않은 것은 제조사가 점유율 봐서 천천히 만들 수 있다는 점에서 기다려 볼 만한 문제이나 문제는 SAF의 성격 그 자체이다. SAF는 보통 "구글의 통합 UI로 모든 저장소를 액세스할 수 있다"로 설명되는데 이 구글 UI를 반드시 거쳐야 한다는 것이 문제이다. 특히 파일 관리자라는 것은 기존의 UI로는 못하는 것을 할 수 있어서 사용하는 것인데 이 상황에서 반드시 통합 UI를 거치게 한다면 파일 관리자는 만들 수 없게 되는 것이다. 게다가 파일 생성/복사/삭제/이동/이름 변경을 모두 수행할 수 있어야 하는데 이것이 되는지도 미지수인 상황. 일부에서는 구글 UI를 스킵하고 SAF를 이용할 수 있다고 하나 이 방식으로 성공한 사례를 찾아보기 어렵고 SAF는 불편하다고 이구동성으로 말하고 있는 것이 2014년 6월 현재 전세계 개발자들의 현실이었다.

킷캣 이용자들은 최후의 방법으로 루팅 텍스트 파일(platform.xml)을 수정함으로써 이전과 같이 작동이 되게 할 수 있다. 하지만 루팅의 이러한 단점 때문에 일반 유저로서는 곤란한 방법이다.[20]

5.0 롤리팝 부터 SD카드 접근이 다시 정상적으로 돌아왔다.[21] 다만 SAF를 통해 앱이 접근 가능한 최상위 디렉토리를 지정하는 방식이기 때문에 킷캣 이전까지의 완전히 자유로운 액세스를 누리던 입장에서는 불편할 수 있다.

7.0 누가 이상에서는 개발자 옵션의 외부에서 앱 강제 허용을 활성화하면 젤리빈 이전 시절의 자유로운 액세스가 가능하다.

4. 패치 사항

2013년 12월 5일 공개된 4.4.1에서는 넥서스 5 카메라 기능이 강화되었으며 이 버전부터 넥서스 5 이외의 기기의 기본 락 스크린에서 노티바와 소프트키에 투명 효과가 적용된다. 넥서스 5에 적용된 구글 홈 런쳐는 버전이 올라가며 성능 개선이 이루어졌다. 대신 이전 버전 런쳐의 앱 서랍의 기본색이 킷캣의 회색빛으로 변경되었다. 그리고 ART(Android RunTime) 버그와 기타 사소한 기능이 향상되고 자잘한 버그들이 수정되었다.

이후 4.4.1가 나온지 거의 4일만인 12월 9일 4.4.2가 나왔다. 4.4.1에서 발견된 주요 버그들의 패치 및 보안 강화가 목적이며 '앱 옵스'의 개인 정보 보호 기능을 제거하고 VM 표시기 관련 사항과 다양한 추가 소프트웨어도 수정되었다.

이 후 2014년 6월 초, 4.4.2에서 무려 5,000개가 넘는 버그 수정을 한(!?) 4.4.3이 나왔다. 그리고 몇 주 안돼서 버그들의 패치 및 보안 강화된 4.4.4가 나왔다.

5. 적용 기기

2015년 4월 기준으로 넥서스 4, 넥서스 7, 넥서스 7 2013, 넥서스 10, 모토 X, LG G2, 갤럭시 노트3, 갤럭시 S4 LTE-A, 갤럭시 노트 II, 갤럭시 S4, 갤럭시 S3 (LTE 모델 한정), 갤럭시 팝, LG Vu 3, 옵티머스 G Pro, 옵티머스 뷰 II, LG G Flex, LG G Pad 8.3, 베가 시크릿 업, 베가 시크릿 노트, 베가 LTE-A, 옵티머스 LTE III, 갤럭시 노트 10.1, 갤럭시 노트 10.1 2014, 옵티머스 G, 베가 아이언, 베가 No.6, 베가 R3, 등등 2012년 이후에 나온 폰들은 거의 다 킷캣으로 업그레이드가 완료된 상태이다. 옵티머스 LTE II는 버려졌다

6. 점유율

출처
연월 점유율
2014년 11월 30.2%
2015년 4월 41.4%
2015년 6월 39.2%
2015년 10월 38.9%
2016년 11월 25.2%
2016년 12월 29.2%
2017년 9월 15.1%
2017년 11월 13.4%
2018년 6월 10.3%
2018년 10월 7.6%
2019년 5월 6.9%
2020년 6월 4%
2020년 10월 1.4%
2021년 11월 1.4%
2022년 5월 1%

7. 이스터에그

버전 이름이 바뀌면서 이스터 에그도 바뀌었다. 보는 방법은 이전 버전들과 같다. 여태 나왔던 운영체제 아이콘이 보인다. ..?

파일:external/zagg-blog.s3.amazonaws.com/android-4-4-kitkat-easter-egg-1024x910.jpg

8. 기타

최근 대부분의 안드로이드 앱의 최소 요구 버전이 5.0 롤리팝 이상이 됨에 따라 4.4 킷캣이 설치된 구형 스마트폰[22]을 사용하던 사람들은 더 이상 앱 지원을 받지 못하는 상황이다.

파일:카카오톡 5.0 지원.jpg
그나마 필수 앱이라 할 수 있는 카카오톡이 2020년 6월까지 킷캣을 지원하여 어찌저찌 사용할 수 있었으나, 2020년 7월 21일 업데이트 된 카카오톡 버전 8.9.5부터 안드로이드 최소 요구 버전이 5.0 롤리팝으로 상향되면서 업데이트를 지원받을 수 없게 되었다. 그 이후에도 사용하는데 문제는 없었지만 2021년 9월경 이후로 이모티콘을 비롯한 일부 기능이 잘 작동되지 않고 샵 검색 기능도 보안인증서에 문제가 있다는 문구가 뜨며 사용이 거의 불가능하다.

2021년 10월 5일부터 4.4 킷캣의 카카오톡 내부의 카카오페이 지원이 종료된다. 구버전은 이 날 이후로 메신저로만 사용 할 수 밖에 없고 메신저 기능도 언제 완전히 지원 종료 될 지 모르는 셈.

결국 2021년 11월 11일부터 카카오톡 v8.9.5 미만에서는 메신저 지원도 중단할 예정이라는 공지가 올라왔으며 이후 메신저 지원이 중단되었다.

유튜브도 2021년 12월 1일을 기점으로 업데이트 지원이 중단되었다. 유튜브를 사용할려면 웹브라우저에서 사용해야한다. 크롬 등 다른 구글 앱은 여전히 업데이트 지원 중이다. 킷캣도 곧 수명이 끝나간다고 봐야한다.

당시 킷캣 버전 광고가 있는데 이게 생각보다 인기가 많아서 Android Kitkat Challenge 라는 팬메이드 게임이 있다. 플레이 스토에서 다운 받는 게 아닌 웹사이트에서 다운 받아서 플레이 할 수 있다.


[1] 플로리다 주의 섬들에서 자라는 "키 라임"을 이용해서 만들어 먹는 파이. 미국의 대중적인 디저트 음식이기도 하다. 만드는 방법은 여기 참조. [2] 안드로이드 공식 웹페이지 [3] 구글플러스 : BBC 사원 Rosa Golijan [4] 구글 넥서스 삼성 갤럭시 S 시리즈 [5] 출시 직후에는 넥서스 계열에서만 사용 가능하다가 2014년 8월부터 구글 플레이의 제한을 풀어 모든 기기에서 사용 가능하게 했다. 그 이전에도 apk 파일 설치 등으로 쉽게 쓸 수 있는 편이었다. [6] 시스템 정보에서 확인 가능하며 년-월-일 날짜 형식으로 되어있다. [7] 단, AOSP에는 이 구글 크롬이 들어가지 않는다. 다만 이것은 굳이 저작권 문제는 아니고 AOSP 자체가 구글의 손을 타기 전의 프로젝트이기 때문이다. AOSP는 GNU가 아닌 아파치 라이센스라 GNU보다는 강제력이 약한 편이고 설사 GNU라고 해도 비 오픈소스 프로그램과 묶어서 패키징하는 것이 문제되지는 않는다. 굳이 구글의 손을 피하고 이쪽 브라우저를 넣고 싶다면 구글 크롬에 대해 안드로이드-AOSP와 비슷한 관계에 있는 크로뮴을 넣으면 될 일이다. [8] 이것으로 녹화한 결과는 MP4로 저장되고 화면 비율은 기기 비율을 따라간다. 일단 현재는 3분까지만 녹화가 가능하다. [9] 저번 버전까지 사용되던 네온 UI의 파란 하이라이트가 너무 튀다고 생각했는지 무채색 계열의 색상으로 변경되었다. [10] 동영상을 볼 때와 같이 소프트키, 노티피게이션 바 등을 화면에서 없애준다. 이후 화면 위에서 아래로 스와이핑을 해주면 다시 나타난다. [11] 구글 드라이브를 굳이 깔지 않아도 기본적으로 업-다운로드가 가능하고 타사 클라우드도 가능한것으로 보인다. [12] xda에서 4.4.3 이후의 AOSP에서 이걸 강화해 system 영역의 쓰기를 리커버리 모드를 제외하면 완전히 막으려는 움직임을 포착한 상태. [13] 개발자 옵션에서 기존 달빅과 ART를 고를 수 있다. 다만 변경 후에는 앱을 조정하는 시간이 꽤나 걸리며 불완전하므로 일부 앱이 제대로 동작하지 않는다. 이 점 주의. [14] 실제로 갤럭시 초기 모델에서 내장 메모리 용량이 충분하지만 내부 메모리 용량 부족이라 OS 업그레이드 지원을 포기하는 일이 일어났다. 충분한 음악, 동영상 저장공간 제공하겠다고 넉넉한 인심(파티션 분배)을 썼더니 날벼락. 모험을 무릅쓰고 메모리 전체 포맷하는 방법을 제공했더니 그 동안 찍은 사진이 사라졌다며 항의를 하는 고객이 찾아오고 그런다.(...어쩌라고). 그러나 휴대폰 교체 주기가 다가오고 새 휴대폰을 구매하면서 이 문제는 기억 속으로 점차 잊혀지게 되었다. [15] READ_EXTERNAL_STORAGE 권한도 있는데 이것은 외부 저장소를 읽기만 하고 싶을 때 필요한 권한이다. 뭐를 기록하려면 읽기도 해야 하므로 WRITE_EXTERNAL_STORAGE 권한을 받아내면 이 권한은 그냥 따라온다. [16] 물론 구글 넥서스는 구글이 직접 관리하기 때문에 이런 수법이 적용되지 않는다. 그동안 구글 넥서스는 2번 외부 저장소가 아예 없었기 때문에 이 문제가 생길 수가 없었으나 2번 외부 저장소가 있던 기기의 변종인 갤럭시 S4 구글 플레이 에디션의 젤리빈 4.3 업데이트에 이 권한 변경이 적용되면서 드디어 문제가 불거지게 된 것이다(특히 넥서스/GPE 기종의 경우 파일 관리자가 원래 아예 없다!). 그러나 구글 넥서스를 사용하는 사람들 상당수는 루팅도 잘하고 커스텀 펌웨어도 잘 먹기 때문에 이 문제를 너무나도 쉽게 해결할 수 있었고 커스텀 펌웨어 만드는 사람들도 역시나 해당 문제를 수정한 뒤 배포하는 경우가 많았다. 그래서 이 문제는 묻혔다.(...) [17] 윈도우의 파일 공유 프로토콜 [18] 원래 외장 메모리가 없기 때문에 이 조치에 수혜를 입을 거라는 설이다. [19] 데스크탑 윈도우의 그 앱 맞다. 같은 제작자가 만드는 것. [20] 시스템에 기본적으로 내장된 파일탐색기 앱은 SD카드 읽기/쓰기에 문제가 없다. [21] # [22] 대표적으로 삼성 갤럭시 S3, 삼성 갤럭시 노트2, LG 옵티머스 G를 꼽을 수 있다. 둘 다 최신 OS가 4.4를 끝으로 업데이트 지원이 중단된 상태이며 2022년 기준 출시된 지 무려 10년이 넘어가는 구형 기기들이다. 지금까지 현역으로 써 온 사람들도 버텨온 기기도 대단하다고 할 만 하다.