서브메뉴

본문

임베디드 안드로이드 (안드로이드 포팅, 확장, 커스터마이징하기)
임베디드 안드로이드 (안드로이드 포팅, 확장, 커스터마이징하기)
저자 : 카림 야크무르
출판사 : 한빛미디어
출판년 : 2015
ISBN : 9788968481772

책소개

[임베디드 안드로이드]는 안드로이드를 임베디드 기기에 포팅, 확장, 커스터마이징하는 데 필요한 각종 기술적 궁금증을 해소해 주는 안내서다. 이 책은 안드로이드 2.3(진저브레드)뿐 아니라 4.2(젤리빈)까지 다루는 현시점에서 유일한 안드로이드 시스템 개발서로, 안드로이드 소개, 내부 들여다보기, AOSP 시작하기, 빌드 시스템, 하드웨어 기초, 네이티브 사용자 공간, 안드로이드 프레임워크 등을 다루고 있다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

이 책은 안드로이드를 임베디드 기기에 포팅, 확장, 커스터마이징하는 데 필요한 각종 기술적 궁금증을 해소해 주는 안내서다. 다가오는 사물인터넷 시대의 핵심 플랫폼이 될 안드로이드의 구조와 동작 원리를 이해하여 나만의 안드로이드 기반 제품을 만들 수 있는 지식과 기술을 습득하게 도와준다.

출판사 리뷰
임베디드 리눅스 시스템 분야의 권위자인 저자가 2년의 세월을 헌신하여 파헤친 안드로이드의 내면을 지금 여러분 앞에 낱낱이 공개한다.

이 책은 안드로이드 2.3(진저브레드)뿐 아니라 4.2(젤리빈)까지 다루는 현시점에서 유일한 안드로이드 시스템 개발서다.
가볍고 민첩하여 임베디드 플랫폼으로 가장 널리 쓰이는 진저브레드, 강화된 기능으로 무장한 젤리빈을 내 마음대로 요리하여 사물인터넷 시대의 오늘과 내일에 동시에 도전해보자.

[ 대상 독자 ]
- 안드로이드 기반 임베디드 시스템 개발자
- 안드로이드를 특정 용도에 맞게 개량하고자 하는 개발자

[ 상세 내용 ]
1장 ‘소개’는 안드로이드를 임베디드 시스템에서 사용할 때 알아야 하는 일반적인 지식을 다룬다. 안드로이드는 어떻게 시작되었으며 개발 모델과 라이선스가 기존의 오픈 소스 프로젝트와 어떻게 다른지, 안드로이드 구동에 필요한 하드웨어 사양과 같은 내용이다.

2장 ‘안드로이드 내부 들여다보기’는 안드로이드 내부를 파헤치고 안드로이드를 구성하는 주요 추상화 개념을 보여준다. 앱 개발자에 친숙한 앱 개발 모델을 소개하며 시작한다. 그런 다음 안 드로이드만을 위해 가해진 커널 수정, 하드웨어 지원이 안드로이드에 추가된 방식, 안드로이드 네이티브 사용자 공간, 달빅, 시스템 서버, 시스템 시작 전반을 살펴본다.

3장 ‘AOSP 시작하기’는 구글의 안드로이드 소스코드를 가져오는 방법을 설명하고, 에뮬레이터 이미지로 컴파일하고, 이 이미지를 구동해 셸로 접근하는 법을 설명한다. 에뮬레이터는 실제 하드웨어 없이도 안드로이드의 내부 원리를 살펴보는 손쉬운 수단이다.

4장 ‘빌드 시스템’은 안드로이드 빌드 시스템을 상세하게 설명한다. 실제로 다른 대부분의 오픈 소스 프로젝트와 달리 안드로이드 빌드 시스템은 비재귀적이다. 4장은 안드로이드 빌드 시스템의 구조와 AOSP를 빌드하는 전형적인 방법, AOSP에 수정 사항을 추가하는 방법을 설명한다.

5장 ‘하드웨어 기초’는 안드로이드를 구동하도록 설계된 하드웨어들을 소개한다. 안드로이드가 주로 사용하는 SoC, 안드로이드 시스템의 전형적인 메모리 구조, 개발 설정, 시제품용 임베디드 안드로이드 시스템을 위해 손쉽게 사용할 수 있는 평가용 보드들에 대한 내용을 다룬다.

6장 ‘네이티브 사용자 공간’은 루트 파일시스템의 구조, adb 도구, 안드로이드 명령행, init 설정을 다룬다.

7장 ‘안드로이드 프레임워크’에서는 안드로이드 프레임워크가 어떻게 시작되는지, 프레임워크 와 상호작용할 수 있는 유틸리티와 명령, 정상 동작에 필요한 지원 데몬을 논의한다.

부록 A ‘레거시 사용자 공간’은 “레거시” 임베디드 리눅스 스택을 안드로이드 사용자 공간과 공존하도록 하는 방법을 논의한다.

부록 B ‘새 하드웨어 지원하기’에서는 안드로이드 스택에 새로운 하드웨어 지원을 추가하는 방법을 설명한다. 새로운 시스템 서비스를 추가하는 방법과 안드로이드의 하드웨어 추상화 계층을 확장하는 방법을 다루게 된다.

부록 C ‘기본 패키지 목록 설정 변경하기’에서는 AOSP로 생성하는 이미지에 기본적으로 포함되는 컴포넌트들을 변경하는 데 도움이 되는 자료를 소개한다.

부록 D ‘기본 init.rc 파일들’은 2.3/진저브레드와 4.2/젤리빈에서 사용되는 기본 init.rc 파일에 대한 보충 설명을 담고 있다.

부록 E ‘참고자료’에서는 웹사이트, 메일링 리스트, 도서, 행사 등과 같은 유용한 참고자료를 정리하였다.
[교보문고에서 제공한 정보입니다.]

목차정보

1장. 소개
1.1 역사
1.2 기능과 특징
1.3 개발 모델
1.4 생태계
1.5 안드로이드 소스코드 구하기
1.6 법률 고려사항
1.7 하드웨어와 호환성 요구사항
1.8 개발 설정과 도구

2장. 안드로이드 내부 들여다보기
2.1 앱개 발자 관점
2.2 전체적인 구조
2.3 리눅스 커널
2.4 하드웨어지 지원
2.5 네이티브 사용자 공간
2.6 달빅과 안드로이드 자바
2.7 시스템 서비스
2.8 AOSP 기본 패키지
2.9 시스템 시동

3장. AOSP 시작하기
3.1 개발 호스트 설정
3.2 AOSP 받기
3.3 AOSP 내부
3.4 빌드 기본
3.5 안드로이드 구동하기
3.6 ADB 사용하기
3.7 에뮬레이터 통달하기

4장. 빌드 시스템
4.1 다른 빌드 시스템과의 차이점
4.2 아키텍처
4.3 빌드 방법
4.4 AOSP 해킹 기본

5장. 하드웨어 기초
5.1 일반적인 시스템 아키텍처
5.2 시스템-온-칩은 무엇인가?
5.3 메모리 레이아웃과 매핑
5.4 개발 설정
5.5 평가용 보드

6장. 네이티브 사용자 공간
6.1 파일시스템
6.2 adb
6.3 안드로이드 명령행
6.4 Init

7장. 안드로이드 프레임워크
7.1 프레임워크 시작하기
7.2 유틸리티와 명령어
7.3 지원 데몬
7.4 하드웨어 추상화 계층(HAL)

부록 A 레거시 사용자 공간
부록 B 새 하드웨어 지원하기
부록 C 기본 패키지 목록 변경하기
부록 D 기본 init.rc 파일들
부록 E 참고자료
[교보문고에서 제공한 정보입니다.]