안드로이드(운영체제)/킷캣
[clearfix]
1. 출시 과정
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을 탑재한 모델들도 쾌적한 이용이 가능하다고 밝혔다. 구글 직원의 말로는 아직도 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 추가. 리모콘이나 적외선 통신 등에 활용할 수 있다. 이미 전례들도 있고.
- 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_EXTERNAL_STORAGE를 주면 자동으로 WRITE_MEDIA_STORAGE에 준하는 권한을 주는, '''구글의 의지에 반하는''' 제조사 커스텀으로 얼렁뚱땅 넘어가는 꼼수를 써서 서드 파티 앱이 2번 외부 저장소에도 기록을 할 수 있게 했다.[16]
그러나, '''구글은 킷캣 이전까지 한번도 공식적으로 두번째 외부 저장소를 지원한 적이 없다.''' 따라서 2번 외부 저장소 관련 기능은 모조리 제조사들이 멋대로 만들어낸 기능이 되며 '''구글 입장에서는 원래 안 되는 걸 안 되게 했을 뿐''' 되던 걸 안 되게 하는 것이 아니게 된다.
이는 2번 외부 저장소를 이용하는 것이 보안상 문제가 되기 때문이다. 안드로이드에서는 유닉스의 계정 개념을 비틀어서 각 앱의 경계를 짓는데 사용하는데(이는 루팅 항목에 상세히 설명되어 있다), 이 계정별로 자기 파일이라고 표시하는 개념이 리눅스의 ext4 파일 시스템이나 윈도우의 NTFS에는 존재한다. 이런 곳에서는 자기 파일이 아닌 곳에 맘대로 드나들 수 없고 보안이 더욱 강화되게 된다. 그러나 외장 메모리는 SD 메모리로 아무 곳에서나 꽂아 쓸 수 있기 때문에 FAT를 기반으로 한 파일 시스템을 사용하며 여기에는 계정 개념이 없다. 따라서 아무나 남의 집에 파일을 쓸 수 있으며 보안 문제가 생기기 쉽다. 루팅 항목에서 설명한 것처럼 앱들 간의 장벽이 깨지는 것이다. FAT가 마이크로소프트의 기술이라서 사용료를 더 내야 한다는 점은 덤.
그러나 이것이 보안상 규제가 필요할 수밖에 없는 문제임에도 불구하고 몇년간 제조사가 열어놓고 구글이 방치하여 회색지대가 된 덕에 앱 개발자들은 구글이 공인한 적도 없는 기능을 토대로 마음껏 내장 메모리와 외장 메모리를 동등하게 사용하는 앱들을 만들었다. '''안드로이드 앱 생태계의 거대한 일부분이 사실은 사상누각으로 만들어져 있었던 것이다.'''
각설하고 킷캣 시기에 벌어진 2번 외부 저장소 관련 이슈는 다음과 같다.
- 상기한 WRITE_EXTERNAL_STORAGE 꼼수를 틀어막았다.
안드로이드 기기는 구글이 인정하는 여러 조건을 만족해야 인증을 받아서 구글 플레이를 포함한 구글 앱을 사용할 수 있는데, 이 조건 중 하나에 안드로이드 앱이 2번 외부 저장소에 기록할 권한를 지정한 장소 이외에 줘서는 안 된다는 것이 ICS 때부터 명시되어 있었지만 지켜지지 않았다. 그런데 킷캣 때부터는 구글이 이를 강력히 규제하기 시작했다.
- 앱들은 자기 이름을 딴 디렉토리(/Android/data/패키지이름)를 외부 저장소에 만들어 맘대로 사용할 수 있다. 묻지도 따지지도 않고 말이다.
1번, 2번을 가리지 않는다. WRITE_EXTERNAL_STORAGE도, READ_EXTERNAL_STORAGE도 필요 없다. 그냥 주는 것이다! 예를 들어, 멜론 앱은 아무 권한 없이 /storage/emulated/0/Android/data/com.iloen.melon 폴더 액세스가 가능하다. 앱 내부에서만 사용하는 각종 데이터를 담아두는데 쓸 만한 방법으로 그렇게 외장 메모리를 사용하던 기존 앱들은 이 방법을 사용하도록 권한 구조를 수정해서 패치하면 된다. 앱을 삭제하면 해당 디렉토리도 알아서 삭제되기 때문에 무슨 개인적 파일 같은 것을 담아놓는 용도로는 부적합하다.
- Storage Access Framework(SAF)의 도입.
윈도우에서 아무 프로그램이나 파일→열기를 하면 대체로 똑같이 생긴 창이 떠서 파일을 고를 수 있을 것이다. 대략 이것의 안드로이드 버전이라고 하면 되는데 여기에 모듈(Provider) 개념이 추가된다. 임의의 저장소를 Provider 앱으로 만들 수만 있다면 해당 저장소는 모두 동등한 방법으로 스마트폰에서 액세스할 수 있는 것이다. Provider가 존재한다면 구글 드라이브, 드롭박스 등의 클라우드 스토리지, 심지어 FTP나 SMB[17] 마저도 구글이 디자인한 UI로 마치 스마트폰에 원래 있던 파일처럼 고를 수 있는 것이다!
또한 WRITE_MEDIA_STORAGE가 제조사와 구글에만 허용된 특성상 2번 외부 저장소용 Provider를 제조사가 만들어줘야 하는 절차가 있긴 해도 SAF를 잘 이용한다면 SD카드 문제의 해결책이 될 가능성도 없지는 않다. 아니 구글이 뒤를 다 틀어막은 이상 이게 공인된 유일한 해결책이다.
그리고 킷캣 확산 후 '''외장 SD를 이용하던 유저들은 패닉 상태에 빠졌다.''' SD카드를 고자로 만든 것에 대한 반응은 대략 구글 넥서스 항목에 나타나는 비하적 표현들을 전국구로 확대한 수준이라 보면 된다(...). 구글 드라이브와 구글 넥서스[18] 팔아먹으려고 한다는 음모론, 안드로이드가 iOS처럼 폐쇄적으로 변한다면서 구글을 욕하는 의견들이 쏟아져나오는 상황이다.또한 WRITE_MEDIA_STORAGE가 제조사와 구글에만 허용된 특성상 2번 외부 저장소용 Provider를 제조사가 만들어줘야 하는 절차가 있긴 해도 SAF를 잘 이용한다면 SD카드 문제의 해결책이 될 가능성도 없지는 않다. 아니 구글이 뒤를 다 틀어막은 이상 이게 공인된 유일한 해결책이다.
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년 이후에 나온 폰들은 거의 다 킷캣으로 업그레이드가 완료된 상태이다.
6. 점유율
2014년 11월 기준 점유율은 30.2%.
2015년 4월 기준 점유율은 41.4%.
2015년 6월 기준 점유율은 2달 전보다 약간 감소한 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%
7. 이스터에그
버전 이름이 바뀌면서 이스터 에그도 바뀌었다. 보는 방법은 이전 버전들과 같다. 여태 나왔던 운영체제 아이콘이 보인다.
[image]
8. 기타
최근 대부분의 안드로이드 앱의 최소 요구 버전이 5.0 롤리팝 이상이 됨에 따라 4.4 킷캣이 설치된 구형 스마트폰[22] 을 사용하던 사람들은 더 이상 앱 지원을 받지 못하는 상황이다.
[image]
그나마 필수 앱이라 할 수 있는 카카오톡이 2020년 6월까지 킷캣을 지원하여 어찌저찌 사용할 수 있었으나, 2020년 7월 21일 업데이트 된 카카오톡 버전 8.9.5부터 안드로이드 최소 요구 버전이 5.0 롤리팝으로 상향되면서 업데이트를 지원받을 수 없게 되었다. 물론 업데이트를 지원받지 못한다고 하여 당장 카카오톡을 사용할 수 없는 것은 아니지만, 시한부 사용이라는 것은 킷캣 사용자에게 무척이나 찜찜한 일일 것이다.
[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, LG 옵티머스 G를 꼽을 수 있다. 둘 다 최신 OS가 4.4를 끝으로 업데이트 지원이 중단된 상태이며 2020년 12월 기준 '''8년이 넘은 구형 기기'''들이다. 지금까지 현역으로 써 온 사람들도 버텨온 기기도 대단하다고 할 만 하다.