안드로이드(운영체제)/롤리팝

파일:Android-logo.png
안드로이드 버전
영어 명칭한국어 명칭S/W 버전
1.01.01.0
Petie Four프티 푸르1.1
Cupcake컵케이크1.5
Donut도넛1.6
Eclair이클레어2.0 / 2.1
Froyo(Frozen Yogurt)프로요2.2
Gingerbread진저브레드2.3
Honeycomb허니콤3.0 / 3.1 / 3.2
Ice Cream Sandwich아이스크림 샌드위치4.0
Jelly Bean젤리빈4.1 / 4.2 / 4.3
Kitkat킷캣4.4
Lollypop롤리팝5.0 / 5.1
Marshmallow마시멜로6.0
Nougat누가7.0 / 7.1
O ??
역대 안드로이드 버전 일람
킷캣롤리팝마시멜로
200px
명칭롤리팝(Lollipop)
버전5.0 / 5.1
리눅스 커널3.4
공개 일자2014년 6월 26일
최초 사용 기기넥서스 6, 넥서스 9, 넥서스 플레이어

1 출시 과정

400px

현지 시간으로 2014년 6월 26일 9시, GOOGLE I/O 2014에서 L Developer Preview로 발표되었다. 공식 발표에 먹는 거 이름을 안 붙이고 나온 이례적인 케이스.[1] 이와 동시에 안드로이드 공식 로고도 변경되었다.

행사 다음날 개발자 이미지가 넥서스 5넥서스 7/2세대에 제공되였다. 이제까지 구글이 I/O 다음날 바로 정식 이미지를 제공했던 것과 달리 이번엔 이례적인 사례로 볼 수 있다. 넥서스 7/1세대의 지원이 끊길 것이라 예상되었으나, 7월 1일 넥서스 4, 넥서스 5, 넥서스 7 2012/2013, 넥서스 10의 개발자 프리뷰 소스가 공개되면서 업데이트가 확실시 되었으며 (기사) 10월 발표에서 구글 공식 블로그를 통해 위 기종들의 업데이트가 최종 확정되었다.

안드로이드 버전 숫자와 이름이 전부 L로 알려져 4.5 혹은 5.0이라는 루머가 혼재했으나, Android 공식 유튜브 채널에 올라온 티저 영상에서 5.0임이 밝혀졌다. 또한 확정된 이름은 롤리팝으로, 정식 공개 전 이미 제조사에 소스 코드가 전달되었다고 한다.

한국 시각 2014년 10월 16일 오전 1시 넥서스 6넥서스 9, 넥서스 플레이어와 함께 정식 공개 되었다.

정식 공개 2일 후 개발자 프리뷰 최종 버전이 공개되었다. 빌드 번호는 LPX13D이며 설치 가능한 기종은 기존과 마찬가지로 넥서스 5넥서스 7(2013) Wi-Fi 모델. 이미지는 11월 3일, 넥서스 9의 판매시작과 동시에 배포될 예정이었다. 하지만 이는 와이파이 사용시 배터리 드레인 문제가 발견되어서 그 문제를 해결하기 위해 연기되었다.

한국 시각 2014년 11월 13일, 드디어 정식 버전이 OTA 및 팩토리 이미지로 배포되었다. 빌드 번호는 넥서스 5는 LRX21O, 넥서스 4는 LRX21T, 넥서스 7(2013) Wi-Fi 모델넥서스 10은 LRX21P이다. 이 때, 넥서스 6/9의 공식 출시일부터 롤리팝 이미지를 기다리던 기타 넥서스 유저들은 애간장만 태우던 상황에, LG G3와 모토로라 일부 기종에 롤리팝 업데이트가 먼저 떠 버리자 그저 어이상실(...).

2 주요 특징 및 변경 사항

주요 변경점은 다음과 같다.

  • 머티리얼 디자인이 적용되어 대폭 개선된 인터페이스 환경
  • 진보된 알림 기능
  • Project Volta를 통한 배터리 개선[2], 절전 모드, 예상 배터리 수명 및 충전 시간 계산
  • 보안 강화 [3]
  • 휴대전화에도 다중 사용자 계정 기능 추가
  • 노티바 상단에 위치한 빠른 설정 기능 [4]
  • Wi-Fi AP에 연결되어 있으나 Wi-Fi를 통해 인터넷에 연결되지 않는 경우 자동으로 모바일 데이터 우선 연결
  • ART 기본 적용
  • 64bit 지원[5]
  • 오디오 기능 개선 (32Bit 출력 추가) 상세 정보
  • OpenGL ES 3.1 및 Android Extension Pack 지원으로 강화된 그래픽 환경
  • 카메라 기능 개선 (RAW, 매뉴얼 모드 지원 등) [6][7]
  • 색맹, 시각장애인들을 위한 시각효과 기능 개선
  • 15개 언어 추가[8]
  • Tap & Go 기능으로 기존 안드로이드 제품과 새 안드로이드 제품을 NFC로 연결하여 기본 데이터를 옮길 수 있음
  • 외장 SD카드에 다시 쓰기권한 접근 가능.[9]
  • 본고딕으로 기본 한글 글꼴 변경

프로그래머를 위한 상세 변경점은 여기를 참고바람(스압 주의)

3 알려진 문제점

5.0 롤리팝에서의 주요 버그는 다음과 같다.

  • 특정 공유기 및 암호화 모드에서 Wi-Fi 연결이 불가
  • Wi-Fi가 꺼진 상태에서 과도하게 배터리를 소모
  • 최근에 사용한 앱 목록에서 앱을 삭제해도 앱이 삭제되지 않고 남아있는 현상
  • 패턴 잠금의 오류로 인해 공장초기화 되는 현상: 패턴 잠금을 설정한 상태에서 패턴을 일정 횟수이상 틀릴경우 공장초기화 하도록 되어있는데, 패턴 잠금의 오류로 단 하나의 점만 터치되더라도 잠금 해제 시도로 인식하게 된다. 그래서 사용자가 의도하지 않은 상황에서도 패턴이 입력되어 공장초기화가 진행된다. 이 버그는 5.0.1에서 해결되었다.
  • 메모리 문제
    • 메모리 누수(램누수) 버그: 기기를 재시작 하지 않고 며칠간 사용하면 시스템의 RAM 사용량이 수백MB에서 1GB 이상으로 올라가는 현상. 원인은 여러 가지가 있으나 가장 대표적으로 알려진 원인은 화면을 켜고 끌 때의 효과가 끝난 뒤 메모리에서 초기화되지 않아 증식하는 것. 메모리 최적화 앱을 돌리면 500~600MB씩이나 메모리가 확보되는 것을 볼 수 있다. 비슷한 게 예전에 하나 있었던 거 같은데? 이로 인해 SOD[10]가 자주 일어난다. 이는 5.1.1 r11버전에서 고쳤다. 그러나 이 버전이 기기에 배포되는 일은 없었다. 이렇게 된 이상 마시멜로로 갔다.
    • 과도한 메모리 사용: 안드로이드가 5.0부터 내부적으로 많이 바뀌어서 메모리 수요가 크게 증가했다. 첫번째로, 64비트를 지원하기 위해서 프로세서와 메모리를 관리하는 Zygote는 기존 32비트용 하나, 추가로 64비트용 하나 각각 띄우기 때문에 메모리가 그만큼 더 필요하게 되었다. 두번째로, 메모리 할당을 처리하는 Memory Allocator가 메모리를 적게 먹고 표준적인 경향의 기존 dlmalloc에서 메모리를 많이 먹고 성능 높인 경향의 신규 jemalloc으로 바뀌게 되었다. 세번째로 달빅 대신 ART 런타임이 롤리팝에서 기본적으로 동작하게 되면서 다양한 메모리 트릭이 실행된다. 이 3개의 변화점 때문에 메모리를 기존 OS보다 많이 잡아먹게 되었다. 그런데 리눅스는 원래 그런 성향이 있으니 느려지거나 문제가 있지 않는 한 여유분의 램이 없다고 초조해하지 말자. 성능향상을 위해 RAM을 적극적으로 사용하는 특성때문에 메모리를 많이 잡아먹으며, 그럴수록 RAM 활용을 잘한다는 의미이기도 하다.참고 링크
    • 빡빡한 LMK: 롤리팝의 메모리 문제는 각 제조사들이 알아서 몸을 사려 Low Memory Killer(LMK)를 빡빡하게 설정하도록 영향을 끼쳤다. 갤럭시 노트5#s-7.2의 경우 역시 LMK에 의해 고용량의 램을 보유하고도 멀티태스킹시 앱 리프레시가 수시로 일어나곤 했다. RAM 확보를 위해 주변 앱들을 학살해대서 발생하는 문제인데, 상위의 과도한 메모리 사용과 겹쳐 사람들은 이를 "램 누수"라고 부르며 버그로 보고 있다. 게임은 물론 단순 웹서핑(크롬)만 하더라도 홈 런처가 죽고 재실행하고 버벅이는 문제는 사용자를 상당히 성가시게 하고 있다. 리프레시 정도가 문제라면 개발자 모드에서 백그라운드 프로세스 제한을 풀어주면 조금 낫다고 카더라한다. #
  • OK Google 기능 버그
  • 유튜브 동영상 재생 실패

2015년 9월, 긴 비밀번호를 입력하면 잠금화면 앱이 튕겨서 잠금이 풀리는(...) 취약점이 발견되었다.

4 패치 사항

2014년 12월 2일, 5.0에서의 버그를 수정한 5.0.1 버전이 공개되었다. 구글에서 상기한 공장 초기화 버그를 제외하고 공식적으로 변경점을 발표하지 않았기 때문에 정확한 변경점은 알 수 없다. 메모리 누수 버그는 여전히 고쳐지지 않은 상태이다.

2014년 12월 19일 안드로이드 5.0.2 버전이 공개되었다. 자세한 내용은 체인지 로그 참조. 단, 구글 공식 체인지로그는 아니고 다른 회사에서 AOSP 소스를 분석하여 만든 체인지로그이다. 구글이 손댄 부분에 다른 변경점이 있는지는 알 수 없다.

2015년 2월 중으로 안드로이드 5.1 버전이 공개될 것이라는 발표가 나왔다. 공식명칭은 5.0과 동일하게 롤리팝이다. 이러다가 젤리빈처럼 5.3까지 갈지도 모른다 하지만 다음 버전은 6.0 마시멜로다 그러다 3월 10일 넥서스 7/1세대, 넥서스 10, 넥서스 5의 5.1 팩토리 이미지가 공개되었다. 멀티 SIM카드와 HD 보이스[11], 디바이스 프로텍트를 공식 지원한다. 또한 5.1버전에서도 고질적인 램누수는 해결하지 못했다. 구글은 이 사실을 인정하고 5.1.1버전에 해결한다고 밝혔다. 그러나 초기 릴리즈 버전들은 램누수가 있었고, 대부분의 제조사들이 초기 버전을 사용하기 때문에 5.1.1임에도 불구하고 램누수가 있기도하다. 이 문제는 r8이 되어서야 많이 호전되었다.

그리고 2015년 4월 21일에 안드로이드 5.1.1이 공개되었으며, 넥서스 9, 넥서스 7/2세대, 넥서스 10의 팩토리 이미지가 배포되었다.

2015년 5월 21일에 넥서스 5, 넥서스 6 안드로이드 5.1.1 팩토리 이미지가 배포되었다.(단, 넥서스 6은 T-모바일 및 스프린트용만 존재. 프로젝트 Fi의 영향일수도 있다.)

2015년 6월 기준 점유율은 5.0/5.1 합계 12.4%이다.
2015년 10월 기준 점유율은 5.0 - 15.6%, 5.1 - 7.9%, 합쳐서 23.5%이다.

5 이스터에그

파일:Lmcq3eT.png
이스터 에그는 플래피 안드로이드다. 원작과는 달리 화면을 터치하는 동안 계속해서 솟아오르는 데다 상승 가속도가 붙는 게 굉장히 미묘하게 설정돼 있어서 손에 힘 빼고 터치하다간 한 개도 채 못 넘고 쳐박기 십상. 짧게 끊어치는 미세한 컨트롤이 필요하기 때문에 원작보다 난이도가 높다. 사실 손가락 두개로 동시에 터치하면 점프 높이가 낮아져 쉬워진다.

팁(?)은 사탕 축면 중간부분부터 시작해서 짧게 두번 누르면 쉽게 통과가 가능하다. 난이도가 너무 높다는 불평으로 인해 5.1버전부터 난이도가 하향되었다는 말이 있다.
  1. 물론 나중에 다시 사탕의 한 종류인 롤리팝이라는 이름으로 재공개되면서 전통을 이어 나갔다.
  2. 웹서핑 실험 결과 약 36%의 배터리 성능 향상이 이뤄졌다고 한다.
  3. 삼성전자의 KNOX 중 일부 보안 기술이 탑재되어, 커널 부분이 개조되지 않으면 부트로더 언락이나 별도의 보안 취약점이 없는 한 루팅이 불가능하게 되었다. 14년 11월 19일부로 뚫렸다. # 공식 출시로부터 7일, 프리뷰 출시로부터 5개월 만이다.
  4. 손전등 기능도 기본 탑재되었다.
  5. ARM64뿐만 아니라 x86_64, MIPS64도 지원한다.
  6. 기존의 기본 카메라 API외에 추가된 메뉴얼 모드와 RAW지원을 묶어 Camera API2 라는 새로운 API로 지원
  7. 단 Camera API2는 하드웨어 제조사의 재량으로 구글의 CTS인증 항목중에서 미지원,부분 지원, 완전(full) 지원 이렇게 3단계로 나누어져 있음으로 5.0버전 이상의 기기라도 지원을 하지 않을 수 있다.
  8. 총 68개 이상의 언어가 지원된다.
  9. 이전과 달리 정식으로 외장 저장소의 읽기 쓰기 API가 추가 되었다. 다만 이전 젤리빈 시절처럼 개나소나 허용하는 블랙리스트 방식이 아닌 권한을 요구한 앱만 요구한 위치에 읽기 쓰기가 가능한 화이트리스트 방식. 보통 탐색기 계열 앱들은 SD카드의 맨 위 루트 폴더를 지정하는 것으로 SD카드 전체 영역의 수정을 가능하게 한다.
  10. 화면을 껐을 때 기기가 종료되는 버그
  11. VoLTE가 아니라 WideBand Audio다.