이클립스에 SDK 설치 등등을 하는 챕터이다. 지금은 안드로이드 스튜디오를 쓰기도 하고 별다른 내용이 없어서 정리는 하지 않겠다..

안드로이드

운영체제와 미들웨어,그리고 핵심 애플리케이션을 포함한 모바일 디바이스 개발에 적합한 소프트웨어 스택. 즉 안드로이드는 모바일 디바이스용 애플리케이션을 쉽게 제작하기 위한 소프트웨어 프레임워크를 제공해준다.




안드로이드 플랫폼의 구조를 나타낸 것으로 크게 애플리케이션 플레임워크,라이브러리,안드로이드 런타임,리눅스 커널로 구성되어 있다.



안드로이드 프레임워크 

리눅스 커널

안드로이드는 리눅스 기반의 플랫폼이다. 따라서 부팅 시에 부트로더를 통해 리눅스 커널이 먼저 시작된다.

init

안드로이드 init 프로세스는 각종 디바이스를 초기화하는 작업을 비롯해서 안드로이드 프렘워크 동작에 필요한 각종 데몬, 컨텍스트 매니저, 미디어 서버,Zygote등을 실행하는 역할을 한다.
데몬 프로세스에는 USB데몬(USB연결관리) , 안드로이드 디버그 브리지 데몬(adbd - 안드로이드 디버그 브리지 연결관리) , 디버거 데몬(디버그 시스템 시작) , 무선 인터페이스 레이어 데몬(무선 통신 연결 관리)이 있다.

컨텍스트 매니저

컨텍스트 매니저는 안드로이드의 시스템 서비스를 관리하는 중요한 프로세스다. 시스템 서비스는 안드로이드 프렘워크를 구성하는 중요한 컴포넌트로서 카메라,오디오,비디오 처리에서부터 각종 애플리케이션 제작에 필요한 중요 API를 제공하는 등의 역할을 수행한다. 즉 안드로이드 내에서 동작하는 각종 시스템 서비스에 대한 정보는 컨텍스트 매니저에게 얻을 수 있다.

미디어 서버

미디어 서버 프로세스는 안드로이드에서 Audio Flinger(오디오 출력 담당)나 Camera서비스와 같이 C/C++ 기반으로 작성돼 있는 네이티브 시스템 서비스를 실행하는 역할을 함.

Zygote

Zygote는 안드로이드 애플리케이션의 로딩 시간을 단축하기 위한 프로세스로서 모든 자바 기반 안드로이드 애플리케이션은 Zygote를 통해 포크된 프로세스 상에서 동작한다.

시스템 서버

Zygote에서 최초로 포크되어 실행되는 안드로이드 애플리케이션 프로세스다. 애플리케이션 생명 주기를 제어하는 액티비티 매니저 서비스, 단말기의 위치 정보를 제공하는 로케이션 매니저 서비스와 같은 자바 시스템 서비스를 실행하는 역할을 한다.




'개발서적 > 인사이드안드로이드' 카테고리의 다른 글

02.안드로이드 개발 환경 구축  (0) 2017.04.18

+ Recent posts