안드로이드 (운영체제)

2019년 로고

안드로이드(Android)는 구글에서 개발한 리눅스 커널 기반의 모바일 운영 체제다.

1 특징[편집]

1.1 오픈소스[편집]

안드로이드는 오픈 소스 프로젝트로 구글 개발분의 소스 코드가 아파치 2.0 라이선스로 공개되어 있다. GNU GPL로 배포되는 리눅스 커널 부분 또한 GPL로 공개된 오픈 소스 프로젝트이다. 덕분에 MIUI나 CyanogenMod 같은 안드로이드 배포판이 개발될 수 있었다.

단, 단말기 및 모듈 제조사가 공급하는 RIL, 카메라 드라이버, WiFi 모듈 펌웨어 등의 라이선스는 제조사 정책에 따른다.

1.2 Java[편집]

리눅스 커널 위에 DalvikVM, Android Runtime, 기타 하드웨어 관련 HAL, 웹킷, SQLite 등등을 제외한 안드로이드 본체가 자바로 짜여져 있다.

2 버전 역사[편집]

안드로이드 홈페이지 참고 버전 그룹은 큰 디자인 변경이 있을 경우 새로 나눕니다. 년도별(디저트 이름별)로 묶어서 서술합니다. 마이너 버전(X.X.X) 의 차이는 대부분 버그 수정이므로 개별적으로 서술하지 않습니다.

2.1 버전 1~2[편집]

안드로이드의 태동기. 이때 최초의 아이폰이 나왔으며, 기존 휴대폰 제조사들이 스마트폰을 만들기 위해 안드로이드를 사용하게 된다.

2.1.1 1.0 알파/애플[편집]

2.1.2 1.1 베타/바나나[편집]

2.1.3 1.5 컵케익(Cupcake)[편집]

2.1.4 1.6 도넛(Donut)[편집]

2.1.5 2.1 에클레어(Eclair)[편집]

시장에 안드로이드가 알려지기 시작한 버전. 코드네임은 디저트의 일종인 에클레어에서 따왔다.

2.1.6 2.2 프로요(Froyo)[편집]

안드로이드가 완성이 되었다 할 수 있는 버전이다. 이전까지는 불안정성도 있었고, 기능도 많다고 할 수 없었으나 시장이 원하는 기능들을 수록해 퍼지기 시작한 버전. 하지만 그에 따라 무거워지기 시작한 버전이기도 하다. 코드네임은 프로즌 요거트, 말 그대로 얼린 요거트에서 따왔다.

2.1.7 2.3 진저브레드(Gingerbread)[편집]

RAM 관리가 좀 더 능동적이고, 빠른 앱 반응속도를 보여주게 되었다. 코드네임은 생강을 첨가하여 만든 쿠키의 일종인 진저브레드에서 따왔다.

안드로이드 첫번째 이스터 에그가 탑재되었고, 이때부터 안드로이드 정보란을 계속 누르면 이스터 에그가 나타나는 방식이 정립되었다. 이때 당시 이스터에그는 안드로이드와 좀비 진저브레드가 그려진 그림을 보여주는 게 전부[1]였다.

2.2 버전 3 허니콤 (Honeycomb)[편집]

안드로이드가 태블릿 시장에 대응하여 내놓은 유일한 태블릿 전용 운영체제. 홀로(Holo) UI를 적용하기 시작했다. 코드네임은 벌꿀에서 따왔다. (다만 허니콤이라는 음식 혹은 시리얼 브랜드가 있다는 카더라가 있다. 자세한 내용은 추가바람.)

역대 최악의 안드로이드 버전으로 꼽히는 운영체제. 이게 말 그대로 태블릿 Only 였던지라 안 그래도 핸드폰 제조사들이 자기들 마음대로 안드로이드를 뜯어고쳐 내놓아 같은 안드로이드인데 한 제조사 폰에선 되는 게 다른 제조사 폰에서는 안 되는 등 이른바 파편화가 심각하던 안드로이드에 파편화 문제를 더 얹어주는 꼴만 연출하고 말았다. 혼자만 간식이 아니라 식재료로 불릴때부터 알아봤어야 했어

2.3 버전 4[편집]

태블릿과 스마트폰 운영체제를 통합하여 나오게 된 버전. 이 둘 사이의 앱 호환성을 높이기 위해 허니콤에서 사용하던 UI를 다듬어 Holo UI를 적용하게 된다.

2.3.1 4.0 아이스크림 샌드위치 (Ice Cream Sandwich)[편집]

허니콤을 시원하게(...) 말아먹고 내놓은 태블릿과 휴대폰 통합 버전. 레퍼런스 기기로는 갤럭시 넥서스(넥서스 프라임). 코드네임은 아이스크림을 사이에 넣은 빵인 아이스크림 샌드위치에서 따왔다.

이때부터 하단바의 소프트키가 표준으로 자리잡았다.

2.3.2 4.1 ~ 4.3 젤리빈 (Jellybean)[편집]

프로젝트 버터를 통해 그래픽 성능을 대폭 끌어올렸다. 그리고 버전 3개를 울궈먹은 최장수 버전. 구글 나우가 이때 추가되었다. 레퍼런스 기기는 넥서스 4. 코드네임은 콩 모양의 젤리인 젤리 빈에서 따왔다(해리 포터 시리즈의 그 이상한 맛들이 나는 사탕이 젤리 빈의 일종이다).

이스터에그는 표정이 있는 젤리를 길게 누르면 무수히 많은 젤리가 화면에 나타나는 것이다.

2.3.2.1 버전별 변경사항[편집]
  • 4.3
    • 태블릿용 UI가 삭제된 버전(정확히는 비활성화로, 4.4때 완전히 없어졌다.)
    • 앱 옵스가 숨겨진 기능으로 생겼으나 이내 사라졌고 6.0때 다시 돌아왔다 앱 옵스 기능은 마시멜로우에 적용된 앱 권한과 다소 차이가 있는 기능이다. 현재 앱 옵스에 대응되는 안드로이드 기능은 없다.

2.3.3 4.4 킷캣(Kitkat)[편집]

홀로(Holo) UI를 적용한 안드로이드 최종 버전으로, 레퍼런스 기기는 넥서스 5다. 코드네임은 본디 '키 라임 파이'로 예상되었으나 의외로 유명 초코 과자인 킷캣으로 결정. 이유는 킷캣쪽이 사람들에게 가장 친숙하기 때문이라나... 문제는 다른 간식들은 이름에 저작권이라는 게 없지만 이것은 엄연히 지금도 저작권이 살아 숨쉬는 공산품 브랜드 이름이라 사용이 잘 될까 싶었는데 킷캣 제조사 측에서 원만히 넘어가준듯.

여러모로 좋아졌지만 단점도 많았는데, 가장 큰 단점은 외장 SD 카드 접근권한 금지조치로 이로인해 그동안 안드로이드에서 잘만 쓰던 외장 SD들이 순식간에 먹통이 되어버렸다. 사실 원래 안드로이드는 보안 문제 때문에 원칙적으로 외장 SD의 사용을 금지해왔는데(참고로 이는 iOS 제품들도 같은 이유로 금지하고 있다) 핸드폰 제조사들이 멋대로 외장 SD 인식 기능을 추가하여 사용자들이 쓰고 있었던 것이었고 구글도 원칙으로만 금지할 뿐 제조사들의 커스터마이징에 대해 손 놓고 있다가[2] 킷캣 버전에서 그걸 규격화한 것이다.

구글의 원칙이야 어쨌건 그동안 방조하고 있다가 한참 뒤에서야 부랴부랴 금지시키니 그동안 외장 SD 사용에 익숙해진 사용자들이 현기증을 호소했고 결국 이는 다음 버전에서 다시 허용하는 쪽으로 바뀌면서 풀렸...지만 여전히 킷캣 자체는 외장 SD 사용 금지 상태이다. 따라서 최종 버전이 킷캣에서 멈춘 기기들은 선호도가 떨어진다. 허니콤도 그렇고 문제가 있는 간식명을 사용하면 망한다.

2.4 버전 5~9[편집]

머티리얼 디자인이라는 새로운 디자인 언어가 정립되어 사용 중이다. 이때부터 매년 메이저 버전을 올리고 있어 이전 버전들보다 숫자가 빠르게 올라간다.

2.4.1 버전 5 롤리팝(Lollipop)[편집]

2014년 공개되었다. 킷캣에서는 개발자용으로만 제공되던 ART(Android Runtime)가 롤리팝에서는 공식적으로 달빅을 대체하게 되었다. 그에 따라 앱용량이 커진다. 코드는 말 그대로 원형 막대사탕 롤리팝에서 따왔다.

새로운 디자인 언어인 "머티리얼 디자인"을 OS 전반에 적용하였다.

자동차 텔레매틱스안드로이드 오토, TV안드로이드 TV, 시계 등 웨어러블안드로이드 웨어 버전이 추가되었다. 이에 따라 안드로이드 TV용 레퍼런스 기기가 추가되었는데, 바로 넥서스 플레이어다. 휴대폰은 넥서스 6, 태블릿은 넥서스 10이다.

상술했듯 전 버전 킷캣에서 문제가 되었던 외장 SD 사용 금지 조치가 이 버전에서는 풀렸다.

32비트 음악 재생이 가능하게 되었다.

이스터에그는 안드로이드 마스코트인 로보트가 위아래로 있는 사탕을 최대한 많이 통과하는 게임이다. 그런데 난이도가 상당히 높다. 웬만한 사람은 3개 넘게 통과하기 힘들정도...

워낙 난이도가 높다는 원성이 높아서인지 다음 버전인 안드로이드 6.0(마쉬멜로우)부터는 게임 방식은 사탕이 마쉬멜로우로 바뀐것 외에는 동일하지만 난이도가 쉬워졌다.

버전 5.1에서는 램 누수가 일부 리버전에서 해결됐다.

2.4.2 버전 6 마시멜로(Marshmallow)[편집]

2015년 공개되었다.

롤리팝 버전에서 불안정 했었던 안드로이드 ART를 조금 더 개선하였으나, 개선되었을 것으로 보였던 RAM 누수 관련 문제의 경우 사용량이 오히려 롤리팝 보다 비약적으로 증가하는 경향이 있다.

지문인식의 공식 지원, 앱 권한 설정 관련 기능 추가 및 USB OTG 공식 지원(!)기능이 추가 되었고 안드로이드 페이가 기본적으로 탑재되었다. 매터리얼 UI의 경우 달라진 점은 거의 없어 살짝 다듬은 수준이며, 마쉬멜로우라는 이름에 걸맞게 롤리팝의 이스터에그인 플래피 버드 게임의 장애물 모양이 롤리팝에서 마시멜로 모양으로 바뀌었다. 게다가 난이도도 조정되었다.

레퍼런스 기기로는 넥서스 5X넥서스 6P가 있다. 넥서스 시리즈 최초로 두 제품이 동시에 출시되었다. 마지막 넥서스 폰이기도 하다.

2.4.3 버전 7 누가(Nougat)[편집]

2016년 공개되었다. 대표적인 기능으로는 멀티윈도우 공식지원(!), 더욱 세심한 통제가 가능해진 앱 권한, 알림바에서 즉시 답장, 새로운 이스터에그(고양이 수집하기) 등이 있다.

이때부터 넥서스 시리즈로 공개하지 않고 구글이 직접 제조하는 구글 픽셀 시리즈가 출시되었다.

7.0 버전과 마이너 업데이트 7.1 버전이 있으며, 아이폰의 3D Touch와 비슷한 Shortcut 기능, 전원메뉴에 다시시작 옵션이 추가되었다. 레퍼런스 기기로는 구글이 자체 기획한 픽셀픽셀 XL이 있다.

2.4.4 버전 8 오레오(Oreo)[편집]

2017년 공개되었다. 상단바에 알림이 뜨면 런처 아이콘 우측 상단에 점이 하나 뜨는 것 즉 '알림 도트'가 추가되었다. 알림 그룹을 나눌 수 있어 한 앱 안에서도 알림을 분류별로 설정을 다르게 할 수 있다.

또 '인스턴트앱' 이라는 기능이 추가되었다. 이는 기기에 어플리케이션을 직접 설치하지 않고도 브라우저에서 앱을 실행할 수 있는 기능이다. 이 기능은 오레오 뿐만 아니라 구형폰(젤리빈 이상)에서도 지원이 된다고 한다. 패스워드 매니저 앱을 위한 자동입력 기능이 추가되었다.

이스터에그는 그냥 문어 한마리가 떠다니는 건데, 이동시킬때마다 다리가 쭉쭉 늘어나는 것과 칙칙한 배경이 좀 거부감을 준다는 의견이 있다. 또 이 문어가 비대하게 커지면 거부감이 더하다고(..)

2.4.5 버전 9 파이(Pie)[편집]

2018년 공개되었다.

노치 디자인을 위한 상단바가 기본으로 제공되는 버전이다. 시계의 위치가 왼쪽으로 이동하였으며, 제스쳐를 이용한 소프트키 조작이 가능하다. 또, Wi-Fi RTT 기능을 지원해 실내 위치의 파악도 가능해졌다.

2.5 버전 10[편집]

디저트 이름을 버린 첫 안드로이드

2019년 공개되었다. 이때동안 간식(디저트)이름으로 버젼을 알파벳 순으로 명명한 규칙을 버리고 버전 9였던 파이 다음의 Q시리즈 버전을 안드로이드 10으로 명명했다. Q부터는 딱히 떠올릴만한 디저트 이름이 없다는 의견과 기존 디저트 명명법이 혼란스럽다는 의견 그리고 10이라는 숫자의 상징성때문에 숫자버전으로 선회했다는 의견이 나오고 있는 중이다.

구글이 안드로이드라는 브랜드를 새롭게 단장하면서 내놓은 버전이다. 이 때를 기준으로 안드로이드 로고, 서체 등이 모두 바뀌었다.

다크모드가 기본적으로 지원된다. 다크모드는 화웨이 샤오미 등이 자사 런처에 지원되기도 하였지만 이번에는 OS에 탑재된 채로 나오게 된다. 또한 화면 내장버튼형 하단바를 제거하고 스와이프 제스처를 도입했다. 화면내장 버튼형 하단바는 안드로이드 4.0(아이스크림 샌드위치)에 기본으로 적용된 이후 9년동안 유지되어 왔다.

그 외로 폴더블 기기 지원이 최초로 들어갔다. 앱 권한 설정이 강화되어 위치 정보를 앱을 띄운 상태에서만 제공하도록 설정할 수 있다.

다크모드나 제스처 등 역대 버전 업그레이드 중 가장 획기적으로 변화한 버전이라는 평이 많다.

2.6 버전 11[편집]

2020년 9월 28일에 공개된 버전. 크게 개인정보 보호 개선과 API 확대 등의 사항이 포함되어있다.

안드로이드 11을 타겟팅하는 앱은 기존 파일 저장 방식을 사용할 수 없게 변경되어 범위 지정 저장소에 옮기는 방식이 강제되고, 위치/마이크/카메라와 관련된 권한에 대해서는 사용자가 권한을 허용할 때 한번만 허용할 수 있는 옵션이 추가되는 등 개인정보 보호 관련 개선사항이 반영되었다.

또한 이 버전부터 탑재되는 기기[3]는 A/B system update(심리스 업데이트)가 강제되고, 2 GB 메모리 이하를 탑재한 기기는 안드로이드 11을 탑재할 수 없다.

3 문제점[편집]

3.1 취약한 보안[편집]

오픈소스인데다 GPL에 따라 커널 소스도 전부 공개됨으로 해커가 분석하기 용이하다. 그래서인지 HW/SW의 보안성이 iOS 대비 비교적 취약하다. 최신 안드로이드는 iOS처럼 여러 가지 보안방책이 마련되어 있어 보안 자체에 큰 결점은 없다.

직원의 안드로이드폰에 원격 해킹앱을 몰래 설치해 직원들의 사생활을 염탐한 양진호 감청 사태같은 해킹이 일어나기 쉽다.[1]

2015년 7월에 유출된 이탈리아의 해킹 팀 관련 문서에서도 안드로이드가 5.0까지는 문제없이 해킹이 가능하다고 나온 반면 iOS는 7버전만 들어서도 할 수 있는 게 거의 사라진다고 되어 있다.[4] 폐쇄성을 감수한 대가는 확실히 얻은셈.

대한민국 국가정보원이 구입한 것으로도 알려진 개인정보 탈취 소프트웨어는 타 OS 대비 및 최신 iOS일수록 탈취 가능한 정보가 제한된 것으로 확인되었다.[5]

현대의 IT기기는 보안 업데이트 없이 안정적으로 사용하는 것이 어렵다. 보안 업데이트가 지원 종료된 안드로이드 기기는 가급적이면 교체하는 것이 좋다.

3.2 파편화[편집]

오픈소스라 아무나 갖다 쓸 수 있기 때문에 결과적으로 같은 안드로이드 기반인데 수만가지 이상의 변형판이 존재하여 사용자들의 접근성을 낮추고 있다.

쉬운 예로 삼성 갤럭시 S를 이용하던 사용자가 넥서스 5로 넘어갔더니 갤럭시 S에서 쓰던 앱들이 정상작동이 안 되는 경우가 있다. 더 심하면 같은 삼성전자의 노트4로 옮겨갔는데도 갤럭시 S에서 쓰던 앱을 못쓰는 경우가 생길 수 있다. 경쟁상대인 아이폰의 경우 어떤 기기를 쓰든, 어떤 버전의 운영체제를 쓰든 모든 앱을 동일하게 사용할 수 있다는 점에서 상당한 디메리트가 분명하다.

다만 이러한 파편화가 생기게 된 이유가 초창기 안드로이드 자체의 기능이 부족했기 때문인데, 발전할 만큼 발전한 현재 스마트폰 환경에서 제조사들도 아이폰을 따라하려는 일부 경우를 제외하고는 이전보다 순정 안드로이드에 가까운 OS를 탑재한다. 또한 구글 자체적으로 앱 개발 시 비공식 API를 사용할 경우 등록을 거부하는 등의 조치를 취하고 있으며 여기 걸리는 API 목록은 점점 길어지고 있다. 안드로이드 자체 API를 사용하도록 유도하는 것.

4 주목할 만한 배포판[편집]

커스텀 롬이라 불리기도 한다.

  • CyanogenMod - 배포판들 중 가장 인지도가 있다.
  • OmniRom - 위의 CyanogenMod를 대체하기 위해 개발되었다. 멀티윈도우 기능이 특징이다.
  • Replicant - 보통은 공개되지 않는 제조사 특징적 드라이버를 리버스 엔지니어링을 통해 오픈 소스로 만든 배포판. 이 과정에서 삼성 모뎀 펌웨어의 백도어를 찾기도 했다.

5 루머[편집]

  • 안드로이드 M의 코드네임이 마카다미아 넛 쿠키가 되었다는 루머가 있었다.[6] 하지만 K의 코드네임이 키 라임 파이 인줄 알고 있었으나 최종적으로는 킷캣이었던 것처럼[7] M또한 마쉬멜로우가 되었다.
  • 7.0 누가 버전에서는 누텔라가 유력하다는 말이 많았으나,실제로는 누가로 결정되었다. 그와중에 우리나라 일부 사람들은 누룽지를 밀었다 카더라

6 변종[편집]

  • 샤오미의 경우 안드로이드 운영체제 기반에 인터페이스는 iOS의 것을 돚거참조하여 마개조한 MIUI라는 운영체제를 쓴다.

7 관련 문서[편집]

8 각주

  1. 이미지와 함께 말풍선에 "Zombie art by Zack Larson"이라고 떴다.
  2. 이를 잘 보여주는 것이 바로 구글이 추구하는 기본 요소만 갖춘 레퍼런스 기기인 넥서스 시리즈인데 넥서스 시리즈들은 대대로 외장 SD용 슬롯이 안달려있다. 단순히 단가를 낮춘다고 그런게 아니라 정말로 외장 SD를 금지했기에 안 붙인 것.
  3. 즉, 이전 버전(예를 들어 10)에서 업데이트한 기기는 해당되지 않는다. 이는 Virtual A/B를 적용하려면 파티션 변경이 필요하기 때문.
  4. http://www.ohmynews.com/NWS_Web/View/at_pg.aspx?CNTN_CD=A0002127338&isPc=true
  5. 김동환, 이종호 (2015.7.15.). 국정원 해킹, 아이폰에서 왜 무용지물일까, 오마이뉴스,. 2019.11.29.에 확인.
  6. http://www.androidheadlines.com/2015/05/rumor-android-m-codenamed-macadamia-nut-cookie.html
  7. 키 라임 파이라는 명칭의 흔적은 남아있다.