인사이드 안드로이드 OS
도서명:인사이드 안드로이드 OS
저자/출판사:블레이크,마이크,래리,쉬퍼/위키북스
쪽수:348쪽
출판일:2022-02-24
ISBN:9791158393151
목차
▣ 01장: 왜 안드로이드인가?
안드로이드 채택하기
___풀스택(Full Stack) 제공
___폭넓은 수용성
___미려한 사용자 인터페이스
___리눅스 기반
___막강한 개발 환경
___오픈 소스
AOSP와 구글
다른 선택지
___마이크로 컨트롤러
___기타 RTOS
요약
▣ 02장: Acme 부팅하기
빌드 머신 구축하기
소스 코드 다운로드하기
Repo
소스 포크하기
___안드로이드 버전 선택하기
___로컬 미러
___호스팅 서비스 Git 저장소
___트리 스냅숏
저장소 커밋 고정하기
예: 포크된 저장소를 위한 로컬 미러
이미지 빌드하기
디바이스 툴
___fastboot
___adb
디바이스 플래싱하기
요약
▣ 03장: 시작하기
안드로이드 계층 배치
___하드웨어
___리눅스 커널
___시스템 라이브러리
___애플리케이션
___안드로이드 프레임워크
안드로이드 서비스 모델
소스 탐험하기
___다른 소스들
___박스에 뭐가 들어 있나?
요약
▣ 04장: 커널
리눅스 커널
___커널 프로세스 관리
___커널 메모리 관리
안드로이드 커널
___안드로이드 커널 기능
커널 빌드하기
___빌드 시스템
___소스 다운로드하기
요약
▣ 05장: 플랫폼 보****
보안의 종류
자체 검사 부팅 (Verified Boot)
운영 보****
___안드로이드 소프트웨어 계층
___프로세스 샌드박스
___안드로이드용 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. Khadas VIM3 하드웨어 소개
B. 안드로이드 9.0 포크 소스
___소스 다운로드
___이미지 빌드
___이미지 플래싱
C. 안드로이드 11.0 정규 AOSP 소스
___소스 다운로드
___이미지 빌드
___이미지 플래싱