인사이드 안드로이드 OS (안드로이드 시스템 서비스의 빌드, 커스터마이징, 관리 및 운영)

인사이드 안드로이드 OS (안드로이드 시스템 서비스의 빌드, 커스터마이징, 관리 및 운영)

$28.00
Description
최신 IoT 및 임베디드 디바이스용 안드로이드 커스터마이징 완벽 가이드!
《인사이드 안드로이드 OS》는 임베디드 디바이스에 안드로이드를 커스터마이징 및 통합하고, 성공적인 안드로이드 기반 제품을 제작 혹은 운영하고자 하는 전문 기술자를 위한 종합 안내서이자 참고서다. 예제 코드가 풍부하게 제공되어 이 책을 보는 독자들은 개인적인 통찰력을 위해서든, 폭발적으로 성장하는 스마트 IoT 디바이스 시장을 위한 전문 프로젝트를 위해서든 자신만의 코드를 생성할 수 있다는 자신감을 갖게 될 것이다.

안드로이드 개발 전문가인 블레이크 마이크와 래리 쉬퍼는 안드로이드에 입문하고자 하는 임베디드 및 IoT 개발자의 현실적인 요구에 부응해 이 책을 썼다. 저자들은 먼저 가용한 안드로이드 환경을 소개하고, 서브시스템 초기화, 하드웨어 인터페이스, 그리고 애플리케이션 지원을 설명함으로써 모호함이나 지나치게 전문적인 내용을 배제하고 독자에게 핵심 지식을 전달한다.

★ 이 책에서 다루는 내용 ★

◎ 스마트 IoT 디바이스에 안드로이드를 사용할 경우의 여러 가지 장단점 평가
◎ 실용적인 안드로이드 커스터마이징 절차 숙지
◎ 빌드 플랫폼 구축, AOSP 소스 다운로드, 안드로이드 이미지 빌드
◎ 안드로이드 컴포넌트, 아키텍처, 소스코드, 개발 툴 탐색
◎ 안드로이드 특유의 커널 모듈 이해
◎ 디바이스와 사용자를 보호하기 위한 안드로이드의 광범위한 보안 인프라 활용
◎ 전원 인가부터 시스템 초기화까지, 안드로이드 부트 설명
◎ 서브시스템 초기화 및 애플리케이션 프로세스를 제어하기 위한 Zygote 컨테이너 활용
◎ 안드로이드 하드웨어 추상화 계층(HAL)을 통한 하드웨어 인터페이스
◎ 자바 네이티브 인터페이스(JNI)를 통한 자바 프로그램에 대한 접근
◎ 바인더화된 HAL(프로젝트 트레블)을 활용한 새로운 유연성 확보
◎ 제조사 라이브러리를 기본 제공할 필요 없는 네이티브 C/C++ 혹은 자바 클라이언트 앱 구현
저자

블레이크마이크,래리쉬퍼

BlakeMeike
블레이크마이크는D2,Realm,Cyanogen을포함한기관에서10년이상안드로이드개발자로일한열정이넘치는엔지니어이며,코드시인이며,베테랑이다.강사로서그는수백명의초보안드로이드개발자를교육했다.그는O’Reilly사의베스트셀러인《ProgrammingAndroid》및Addison-Wesley사의《AndroidConcurrency》를포함한다수서적의저자다.그는다트머스(Dartmouth)대학에서수학과컴퓨터과학학위를취득했으며,퍼시픽노스웨스트에살고있다.

목차

▣01장:왜안드로이드인가?
안드로이드채택하기
___풀스택(FullStack)제공
___폭넓은수용성
___미려한사용자인터페이스
___리눅스기반
___막강한개발환경
___오픈소스
AOSP와구글
다른선택지
___마이크로컨트롤러
___기타RTOS
요약

▣02장:Acme부팅하기
빌드머신구축하기
소스코드다운로드하기
Repo
소스포크하기
___안드로이드버전선택하기
___로컬미러
___호스팅서비스Git저장소
___트리스냅숏
저장소커밋고정하기
예:포크된저장소를위한로컬미러
이미지빌드하기
디바이스툴
___fastboot
___adb
디바이스플래싱하기
요약

▣03장:시작하기
안드로이드계층배치
___하드웨어
___리눅스커널
___시스템라이브러리
___애플리케이션
___안드로이드프레임워크
안드로이드서비스모델
소스탐험하기
___다른소스들
___박스에뭐가들어있나?
요약

▣04장:커널
리눅스커널
___커널프로세스관리
___커널메모리관리
안드로이드커널
___안드로이드커널기능
커널빌드하기
___빌드시스템
___소스다운로드하기
요약

▣05장:플랫폼보안
보안의종류
자체검사부팅(VerifiedBoot)
운영보안
___안드로이드소프트웨어계층
___프로세스샌드박스
___안드로이드용SE리눅스
___SE정책정의
___안드로이드권한
___파일시스템
사용자보호
권한커스터마이징
___사용자정의권한에의해보호받는샘플앱
___사용자정의권한을사용하는샘플클라이언트앱
요약

▣06장:시스템초기화:시스템설치와부팅
부팅절차
___부트로더
___Fastboot
___커널
___파일시스템
___init
복구
데몬빌드하기
Acme디바이스생성하기
Repo다시살펴보기
___데몬시작하기
요약

▣07장:안드로이드의시작:Dalvik과Zygote
Dalvik
ART
___기본ART
___하이브리드ART
Zygote
___Zygote메모리관리
___Zygote시작
___런타임초기화
___시스템서비스시작
요약
인용

▣08장:안드로이드와통신하기:HAL
왜HAL인가?
HAL이필요한가?
HAL설계하기
HAL빌드하기
___코드구조
___HAL구현하기
요약

▣09장:자바와통신하기:JNI
코드구조
하드웨어사용하기
HAL사용하기
자바네이티브인터페이스사용하기
___네이티브코드실행하기
___JNI:자바측면
___JNI:네이티브측면
___자바근접센서애플리케이션
___JNI:몇가지팁
요약

▣10장:프로젝트트레블:바인더화된HAL
HIDL아키텍처
___hwservicemanager
___HIDL서비스
___HIDL클라이언트서비스
하드웨어인터페이스정의언어(HIDL)
___HIDL타입
HIDL서비스
HIDL클라이언트
요약

▣11장:바인더화된HAL만들기
Acme커스텀HIDL
요약

▣12장:바인더화된HAL의클라이언트
네이티브C++Aproximity클라이언트
___aproximitycl을위한안드로이드SE리눅스수정항목
___Aproximitycl을Acme로빌드하기
자바/코틀린Aproximity클라이언트
___AproximityClient를위한안드로이드SE리눅스수정
___Acme플랫폼에AproximityClient빌드하기
요약

▣부록
A.KhadasVIM3하드웨어소개
B.안드로이드9.0포크소스
___소스다운로드
___이미지빌드
___이미지플래싱
C.안드로이드11.0정규AOSP소스
___소스다운로드
___이미지빌드
___이미지플래싱