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

 



'''역대 안드로이드 버전 일람'''
킷캣
'''←'''
'''롤리팝'''
'''→'''
마시멜로
'''Android Lollipop'''
'''안드로이드 롤리팝'''
[image]
<colbgcolor=#76C158><colcolor=#FFFFFF> '''명칭'''
롤리팝 (Lollipop)
'''버전'''
5.0
5.0.1
5.0.2
5.1
5.1.1
'''리눅스 커널'''
3.4
'''공개 일자'''
2014년 6월 26일
'''지원 여부'''
'''2018년 3월을 기해 보안 지원 중단
일부 서드파티 앱 지원 중'''
'''최초 적용 기기'''
'''넥서스 6''', 넥서스 9, 넥서스 플레이어
'''공식 홈페이지'''
Android - 5.0 Lollipop
1. 출시 과정
2. 주요 특징 및 변경 사항
3. 알려진 문제점
4. 패치 사항
6. 점유율
7. 기타

[clearfix]

1. 출시 과정


[image]
[image]
현지 시간으로 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임이 밝혀졌다. [2]또한 확정된 이름은 롤리팝으로 정식 공개 전 이미 제조사에 소스 코드가 전달되었다고 한다.
한국 시각 2014년 10월 16일 오전 1시 넥서스 6넥서스 9, 넥서스 플레이어와 함께 정식 공개되었다. API Level은 5.0이 21, 5.1이 22이다. 리눅스 커널은 3.4.0
정식 공개 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를 통한 배터리 개선[3], 절전 모드, 예상 배터리 수명 및 충전 시간 계산
  • 보안 강화 [4]
  • 스마트폰에도 다중 사용자 계정 기능 추가
  • 노티바 상단에 위치한 빠른 설정 기능 [5]
  • Wi-Fi AP에 연결되어 있으나 Wi-Fi를 통해 인터넷에 연결되지 않는 경우 자동으로 모바일 데이터 우선 연결
  • ART 기본 적용
  • 64bit 지원[6]
  • 오디오 기능 개선(32 Bit 출력 추가) 상세 정보
  • OpenGL ES 3.1 및 Android Extension Pack 지원으로 강화된 그래픽 환경
  • 카메라 기능 개선 (RAW, 매뉴얼 모드 지원 등) [7][8]
  • 색맹, 시각 장애인들을 위한 시각 효과 기능 개선
  • 15개 언어 추가[9]
  • Tap & Go 기능으로 기존 안드로이드 제품과 새 안드로이드 제품을 NFC로 연결하여 기본 데이터를 옮길 수 있음
  • 외장 SD 카드에 다시 쓰기 권한 접근 가능.[10]
  • 본고딕으로 기본 한글 글꼴 변경
프로그래머를 위한 상세 변경점은 여기를 참고바람.

3. 알려진 문제점


5.0 롤리팝에서의 주요 버그는 다음과 같다.
  • 특정 공유기 및 암호화 모드에서 Wi-Fi 연결이 불가
  • Wi-Fi가 꺼진 상태에서 과도하게 배터리를 소모
  • 최근에 사용한 앱 목록에서 앱을 삭제해도 앱이 삭제되지 않고 남아있는 현상
  • 패턴 잠금의 오류로 인해 공장 초기화되는 현상: 패턴 잠금을 설정한 상태에서 패턴을 일정 횟수 이상 틀릴 경우 공장 초기화하도록 되어있는데 패턴 잠금의 오류로 단 하나의 점만 터치되더라도 잠금 해제 시도로 인식하게 된다. 그래서 사용자가 의도하지 않은 상황에서도 패턴이 입력되어 공장 초기화가 진행된다. 이 버그는 5.0.1에서 해결되었다.
  • 메모리 문제
    • 메모리 누수(램누수) 버그: 기기를 재시작하지 않고 며칠 간 사용하면 시스템의 RAM 사용량이 수백 MB에서 1GB 이상으로 올라가는 현상. 원인은 여러 가지가 있으나 가장 대표적으로 알려진 원인은 화면을 켜고 끌 때의 효과가 끝난 뒤 메모리에서 초기화되지 않아 증식하는 것. 메모리 최적화 앱을 돌리면 500~600MB씩이나 메모리가 확보되는 것을 볼 수 있다. 이로 인해 SOD[11]가 자주 일어난다. 이는 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과 동일하게 롤리팝이다. 그러다 3월 10일 넥서스 7/1세대, 넥서스 10, 넥서스 5의 5.1 팩토리 이미지가 공개되었다. 멀티 SIM 카드와 HD 보이스[12], 디바이스 프로텍트를 공식 지원한다. 또한 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의 영향일수도 있다.)

5. 이스터에그


[image]
이스터 에그는 플래피 안드로이드다. 원작과는 달리 화면을 터치하는 동안 계속해서 솟아오르는 데다 상승 가속도가 붙는 게 굉장히 미묘하게 설정돼 있어서 손에 힘 빼고 터치하다간 한 개도 채 못 넘고 쳐박기 십상. 짧게 끊어치는 미세한 컨트롤이 필요하기 때문에 원작보다 난이도가 높다. 그래도 잘하면 15개가 가능하다.

6. 점유율


2015년 6월 기준 점유율은 5.0/5.1 합쳐서 12.4%이다.
2015년 10월 기준 점유율은 5.0 - 15.6%, 5.1 - 7.9%, 합쳐서 23.5%이다.
2016년 12월 기준 점유율은 5.0 - 14.1%, 5.1 - 21.4% 로 총 35.5%이다.
2017년 9월 기준 점유율은 5.0 - 7.1%, 5.1 - 21.7% 로 총 28.8%이다.
2017년 11월 기준 점유율은 5.0 - 6.1%, 5.1 - 20.2% 로 총 26.3%이다.
2018년 6월 기준 점유율은 5.0 - 4.8%, 5.1 - 17.6% 로 총 22.4%이다.
2018년 10월 기준 점유율은 5.0 - 3.5%, 5.1 - 14.4% 로 총 17.9%이다.
2019년 5월 기준 점유율은 5.0 - 3%, 5.1 - 11.5% 로 총 14.5%이다.

7. 기타


  • 2020년 4월 기준 대부분의 안드로이드 앱의 최소 요구 버전이 5.0 롤리팝 이상이 됨에 따라 최소한의 안드로이드 사용을 위한 버전이 되었다고 보아도 무방하다. 대표적으로 갤럭시 S4갤럭시 노트3, LG G2, LG G ProG3 Beat가 있다. 그러나 일부 앱들의 최소 요구 버전은 6.0 마시멜로 이상이고, 심지어 삼성 갤럭시 시리즈 스마트폰에서 사용가능한 SmartThings는 7.0 누가 이상이다.

  • 2020년 7월부터는 카카오톡 최신 버전을 지원하는 가장 오래된 안드로이드 OS 버전이 되었다.

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