안드로이드 (운영체제)

**안드로이드**()는 스마트폰, 태블릿 PC 같은 터치스크린 모바일 장치 용으로 디자인된 운영 체제이자 수정된 리눅스 커널 버전을 비롯한 오픈 소스 소프트웨어에 기반을 둔 모바일 운영 체제다. 또한, 운영 체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용 프로그램(웹 브라우저, 이메일 클라이언트, 단문 메시지 서비스(SMS), 멀티미디어 메시지 서비스(MMS) 등을 포함하고 있는 소프트웨어 스택이자 모바일 운영 체제이다. **안드로이드**는 개발자들이 자바와 코틀린 언어로 응용 프로그램을 작성할 수 있게 하였으며, 컴파일된 바이트코드를 구동할 수 있는 런타임 라이브러리를 제공한다. 또한 안드로이드 소프트웨어 개발 키트(SDK)를 통해 응용 프로그램을 개발하는 데 필요한 각종 도구와 응용 프로그램 인터페이스(API)를 제공한다.

안드로이드는 리눅스 커널 위에서 동작하며, 자바와 코틀린으로 앱을 만들어 동작한다. 또한 다양한 안드로이드 시스템 구성 요소에서 사용되는 C/C++ 라이브러리들을 포함하고 있다. 안드로이드는 기존의 자바 가상 머신과는 다른 가상 머신인 안드로이드 런타임을 통해 자바와 코틀린으로 작성된 응용 프로그램을 별도의 프로세스(zygote 또는 zygote64)에서 실행하는 구조로 되어 있다.

2005년에 안드로이드 사를 구글에서 인수한 후 2007년 11월에 안드로이드 플랫폼을 휴대용 장치 운영체제로서 무료 공개한다고 발표한 후 48개의 하드웨어, 소프트웨어, 통신 회사가 모여 만든 오픈 핸드셋 얼라이언스(Open Handset Aliance, OHA)에서 공개 표준을 위해 개발하고 있다. 구글은 안드로이드의 모든 소스 코드를 오픈 소스 라이선스인 아파치 v2 라이선스로 배포하고 있어 기업이나 사용자는 각자 안드로이드 프로그램을 독자적으로 개발을 해서 탑재할 수 있다. 또한 등록한 개발자들이 소비자에게 응용 프로그램을 판매할 수 있는 구글 플레이를 제공하고 있으며, 이와 별도로 각 제조사 혹은 통신사별 응용 프로그램 마켓이 함께 운영되고 있다.

## 역사
250px|섬네일|오른쪽|녹색 안드로이드 피규어

2005년 7월에 구글은 미국 캘리포니아주의 팔로알토에 위치한 작은 안드로이드사를 인수하였다.
안드로이드사는 앤디 루빈이 세운 업체이다.

2007년 11월 5일에 텍사스 인스트루먼트, 브로드컴 코퍼레이션, 구글, HTC, 인텔, LG전자, 마벨 테크놀로지 그룹, 모토로라, 엔비디아, 퀄컴, 삼성전자, 스프린트 넥스텔, T-모바일의 몇몇 회사로 구성된 컨소시엄인 오픈 핸드셋 얼라이언스(OHA)가 모바일 기기의 공개 표준을 개발하는 것을 목표로 결성되었다. 또한 OHA는 리눅스 커널 2.6에서 빌드된 그들의 첫 번째 모바일 기기 플랫폼 결과물인 안드로이드를 발표하였다.

2008년 10월 21일에 안드로이드가 오픈 소스로 선언되었다. 구글은 네트워크와 텔레폰 스택을 포함하는 완전한 소스 코드를 아파치 라이선스로 공개하였다.

2008년 12월 9일에 ARM 홀딩스, 아세로스(Atheros Communications), 에이수스, 가르민, 소프트뱅크, 소니 에릭슨, 도시바, 보다폰으로 구성된 새로운 14개의 멤버가 안드로이드 프로젝트에 참여하였다.

2014년 10월 16일 안드로이드 5.0 버전 발표와 함께 기존의 달빅 가상 머신을 안드로이드 런타임으로 대체하였다.

## 구조
350px|섬네일|왼쪽|아키텍처 다이어그램
안드로이드의 구조는 그림과 같은 구성 요소로 구성되며 이 구성 요소에는 응용 프로그램, 응용 프로그램 프레임워크, 라이브러리, 안드로이드 런타임, 리눅스 커널의 총 5개의 계층으로 분류되어 있다.

## 안드로이드 에브리웨어
2014년 6월 25일, 구글은 구글 I/O에서 다양한 안드로이드 구축을 통한 사물인터넷(IoT) 전략을 공개하였다. 웨어 OS는 미리 공개되었으며, 웨어를 제외한 나머지는 구글 I/O에서 공개되었다.

“일상의 전자 기기부터 농부가 사용하는 장비, 버스까지 인터넷에 연결된다면 사람들의 삶은 더 크게 변할 것이다.”2015년 4월 28일(현지시각)에 미국 샌프란시스코에서 열린 구글 I/O에서 구글의 선다 피차이 제품총괄 수석부사장이 사물인터넷(IoT) 운영체제 ‘브릴로(Brillo)’를 발표하며 한 말이다.

* 웨어 OS : 2014년 3월 18일 구글은 스마트워치와 웨어러블 컴퓨터에도 선두를 지켜나가기 위해 안드로이드를 일부 수정한 안드로이드 웨어를 발표하였다. 이후 웨어 OS로 이름을 바꾸고 아이폰도 연결하여 사용할 수 있도록 개선하였다.
* 안드로이드 오토 : 자동차에서 구글 어시스턴트를 통해 내비게이션 이용과 메시지 보내기, 음악 재생 등을 이용할 수 있다. 단, 안전상의 문제로 동영상 재생은 지원하지 않는다.
* 안드로이드 TV : 기존 구글 TV의 후속이며 TV화면에 최적화된 안드로이드 앱 기반 컨텐츠를 TV에서 사용할 수 있다.

## 개발
안드로이드는 구글에 의해 개발되고 있으며 최신 변경사항과 업데이트가 출시되는 소스 코드는 안드로이드 오픈 소스 프로젝트에서 이용이 가능하다.

### 안드로이드 오픈 소스 프로젝트
상업용 안드로이드는, 오픈 소스인 안드로이드 오픈 소스 프로젝트 (Android Open Source Project), 흔히 줄여서 AOSP라고 부르는 것으로부터 만들어진다. 크롬과 크로미엄의 관계와 동일하다.

## 버전

안드로이드는 6개월~12개월에 한번씩 업데이트를 주기적으로 진행하며, 업데이트의 내용은 주로 오류 수정이나 새로운 기능 추가로 구성된다. 안드로이드의 각 버전들은 알파벳 첫 글자를 오름차순에 맞춘 음식 이름(디저트)을 코드명으로 삼고 있다. 버전은 1.0, 2.0, 4.0, 5.0, 6.0, 7.0, 8.0
9.0 ...으로 올라가며, 앞자리의 숫자가 올라가면 대규모 업데이트(메이저 업데이트), 소수점 아래 숫자가 올라가면 소규모 업데이트(마이너 업데이트)로 규정한다.

이전 버전을 사용하는 기기들은 바로 업데이트를 제공받을 수 없으며, 기기 제조사에서 구글의 소스를 받아 직접 작업후 배포해야 하므로 가끔씩 하드웨어 성능의 한계로 업그레이드가 취소되기도 한다.

안드로이드 8.0부터 프로젝트 트레블을 적용하여 하드웨어 제어 부분과 소프트웨어 제어 프로그램이 분리되어 출시된 기기들은 그렇지 않은 기기들에 비해 상대적으로 빠른 업데이트가 가능하다.

### 코드네임
[섬네일|250px|안드로이드의 [이스터 에그]]
버전 이름은 알파벳 C부터 알파벳 순으로 이어갔다. 1.0에서는 A부터 알파벳 순으로 로봇의 이름을 붙이려 Astro Boy라는 이름을 내부에서 붙였고 1.1에서는 이 규칙을 위반한 채 디저트가 좋다는 PM의 취향으로 Petit Four으로 지정하였다. 1.5 버전부터 지금의 체제를 완성했다. Astro Boy는 공식적인 이름으로 인정받지는 못했다.

* C : Cupcake (컵케이크) 안드로이드 버전 1.5
* D : Donut (도넛) 안드로이드 버전 1.6
* E : Éclair (이클레어(프랑스어 에클레르)) 안드로이드 버전 2.0~2.1
* F : Froyo (프로요(프로즌 요거트)) 안드로이드 버전 2.2~2.2.1
* G : Gingerbread (진저브레드) 안드로이드 버전 2.3~2.3.7
* H : Honeycomb (허니콤) 안드로이드 버전 3.0/3.1/3.2
* I : Ice Cream Sandwich (아이스크림 샌드위치) 안드로이드 버전 4.0~4.0.4
* J : Jellybean (젤리빈) 안드로이드 버전 4.1~4.3.1
* K : Kitkat (킷캣) 안드로이드 버전 4.4~4.4.4
* L : Lollipop (롤리팝) 안드로이드 버전 5.0~5.1.1
* M : Marshmallow (마시멜로) 안드로이드 버전 6.0~6.0.1, 2016년
* N : Nougat (누가) 안드로이드 버전 7.0~7.1.2
* O : Oreo (오레오) 안드로이드 버전 8.0~8.1
* P : Pie (파이) 안드로이드 버전 9.0
* Q : 안드로이드 버전 10.0.
* R : 안드로이드 버전 11.0.
* S: 안드로이드 버전 12.0.

### 버전 10.0

* 커널: 리눅스
* 그래픽 엔진: 오픈 GL의 휴대기기용 버전인 오픈GL ES과 벌컨 (API)를 채택하고 있다.
* 폰트: 프리타입
* 웹 렌더링: 웹키트 엔진
* 보안 모듈: SSL
* 개발환경: IntelliJ IDEA 기반의 안드로이드 스튜디오 사용을 권장

### 버전 11.0

### 버전 12.0

### 버전 13.0

### 버전 14.0

### 버전 15.0

### 버전 16.0

## 시장 점유율

### 대한민국
* 2014년 1월 21일 미국의 시장조사업체 스트래티지애널리틱스(SA)는 세계 88개국을 대상으로 운영체제(OS)별 스마트폰 사용자 수(IB; Installed Base)와 점유율을 조사하였다.
* 결과 대한민국의 안드로이드 스마트폰 사용자 점유율이 93.4%로 세계에서 가장 높았으며. 이는 전 세계 시장 전체의 안드로이드 스마트폰 사용자 수 비율인 67.5%와 견줘 무려 25.9%포인트 높은 수준이다. 또한 조사 대상국 중 안드로이드의 비중이 90%를 넘는 유일한 나라이다.

## 안드로이드 애플리케이션 제작

초창기에는 이클립스를 통해 배포되던 IDE(통합개발환경)는 '안드로이드 스튜디오'라는 IDE 명칭으로 안드로이드에서 공식 배포하고있다.
## 윈도우 PC에 설치
윈도우가 애초에 설치되어 있던 컴퓨터에는 모든 버전의 안드로이드를 설치할 수 없다. 하는 경우에는 EULA를 위반하는 행위이다.

## 같이 보기
* 구글 플레이
* 안드로이드 TV
* 리눅스
* 웹키트
* 안드로보이
* 구글 크롬 OS
* 크롬북
* 안드로이드용 우분투
* 웨어 OS
* 구글 에디션
* 구글 넥서스
** 넥서스 원
** 넥서스 S
** 갤럭시 넥서스
** 넥서스 4
** 넥서스 5
** 넥서스 6
** 넥서스 7
** 넥서스 10
** 넥서스 7 (2013년)
** 넥서스 9
** 넥서스 Q
** 넥서스 플레이어
** 넥서스 5X
** 넥서스 6P
* 구글 픽셀

### 스마트폰 운영체제의 종류
* iOS - 애플
* 블랙베리 10 - 블랙베리
* 윈도우 폰, 윈도우 10 모바일 - 마이크로소프트
* 타이젠 - 삼성전자
* 우분투 터치 - 캐노니컬
* 파이어폭스 OS - 모질라 재단
* 훙멍 - 화웨이

## 각주

## 외부 링크

* 
*  구글 코드 안드로이드
* Google Play


분류:2008년 소프트웨어
분류:마운틴뷰 (캘리포니아주)의 기업
분류:알파벳 (기업)
분류:ARM 운영체제
분류:클라우드 클라이언트
분류:컴퓨팅 플랫폼
분류:임베디드 리눅스 배포판
분류:자유 모바일 소프트웨어
분류:구글 인수 기업
분류:구글의 소프트웨어
분류:모바일 리눅스
분류:운영체제 계열
분류:아파치 라이선스 소프트웨어
분류:리눅스 배포판
분류:IA-32 운영체제
분류:X86-64 운영체제