목차
01. 왜 안드로이드인가? = 1
  안드로이드 채택하기 = 2
    풀스택(Full Stack) 제공 = 2
    폭넓은 수용성 = 2
    미려한 사용자 인터페이스 = 3
    리눅스 기반 = 3
    막강한 개발 환경 = 4
    오픈 소스 = 5
  AOSP와 구글 = 7
  다른 선택지 = 8
    마이크로 컨트롤러 = 8
    기타 RTOS = 10
  요약 = 11
02. Acme 부팅하기 = 13
  빌드 머신 구축하기 = 14
  소스 코드 다운로드하기 = 16
  Repo = 16
  소스 포크하기 = 22
    안드로이드 버전 선택하기 = 22
    로컬 미러 = 24
    호스팅 서비스 Git 저장소 = 26
    트리 스냅숏 = 27
  저장소 커밋 고정하기 = 27
  예 : 포크된 저장소를 위한 로컬 미러 = 28
  이미지 빌드하기 = 34
  디바이스 툴 = 38
    fastboot = 39
    adb = 40
  디바이스 플래싱하기 = 42
  요약 = 47
03. 시작하기 = 48
  안드로이드 계층 배치 = 48
    하드웨어 = 50
    리눅스 커널 = 50
    시스템 라이브러리 = 51
    애플리케이션 = 53
    안드로이드 프레임워크 = 54
  안드로이드 서비스 모델 = 55
  소스 탐험하기 = 59
    다른 소스들 = 60
    박스에 뭐가 들어 있나? = 60
  요약 = 67
04. 커널 = 68
  리눅스 커널 = 69
    커널 프로세스 관리 = 69
    커널 메모리 관리 = 71
  안드로이드 커널 = 73
    안드로이드 커널 기능 = 76
  커널 빌드하기 = 87
    빌드 시스템 = 88
    소스 다운로드하기 = 88
  요약 = 93
05. 플랫폼 보안 = 94
  보안의 종류 = 94
  자체 검사 부팅(Verified Boot) = 95
  운영 보안 = 98
    안드로이드 소프트웨어 계층 = 98
    프로세스 샌드박스 = 99
    안드로이드용 SE 리눅스 = 102
    SE 정책 정의 = 103
    안드로이드 권한 = 106
    파일 시스템 = 110
  사용자 보호 = 115
  권한 커스터마이징 = 117
    사용자 정의 권한에 의해 보호받는 샘플 앱 = 118
    사용자 정의 권한을 사용하는 샘플 클라이언트 앱 = 123
  요약 = 128
06. 시스템 초기화 : 시스템 설치와 부팅 = 129
  부팅 절차 = 129
    부트로더 = 1232
    Fastboot = 136
    커널 = 138
    파일 시스템 = 140
    init = 143
  복구 = 145
  데몬 빌드하기 = 146
  Acme 디바이스 생성하기 = 147
  Repo 다시 살펴보기 = 149
    데몬 시작하기 = 151
  요약 = 155
07. 안드로이드의 시작 : Dalvik과 Zygote = 156
  Dalvik = 158
  ART = 162
    기본 ART = 163
    하이브리드 ART = 166
  Zygote = 167
    Zygote 메모리 관리 = 167
    Zygote 시작 = 171
    런타임 초기화 = 173
    시스템 서비스 시작 = 174
  요약 = 177
  인용 = 177
08. 안드로이드와 통신하기 : HAL = 178
  왜 HAL인가? = 178
  HAL이 필요한가? = 181
  HAL 설계하기 = 182
  HAL 빌드하기 = 185
    코드 구조 = 186
    HAL 구현하기 = 188
  요약 = 203
09. 자바와 통신하기 : JNI = 204
  코드 구조 = 205
  하드웨어 사용하기 = 207
  HAL 사용하기 = 209
  자바 네이티브 인터페이스 사용하기 = 212
    네이티브 코드 실행하기 = 212
    JNI : 자바 측면 = 214
    JNI : 네이티브 측면 = 215
    자바 근접 센서 애플리케이션 = 219
    JNI : 몇 가지 팁 = 234
  요약 = 242
10. 프로젝트 트레블 : 바인더화된 HAL = 244
  HIDL 아키텍처 = 245
    hwservicemanager = 247
    HIDL 서비스 = 247
    HIDL 클라이언트 서비스 = 247
  하드웨어 인터페이스 정의 언어 (HIDL) = 248
    HIDL 타입 = 255
  HIDL 서비스 = 258
  HIDL 클라이언트 = 263
  요약 = 264
11. 바인더화된 HAL 만들기 = 265
  Acme 커스텀 HIDL = 265
  요약 = 288
12. 바인더화된 HAL의 클라이언트 = 289
  네이티브 C++ Aproximity 클라이언트 = 290
    aproximitycl을 위한 안드로이드 SE 리눅스 수정 항목 = 295
    Aproximitycl을 Acme로 빌드하기 = 297
  자바/코틀린 Aproximity 클라이언트 = 298
    AproximityClient를 위한 안드로이드 SE 리눅스 수정 = 302
    Acme 플랫폼에 AproximityClient 빌드하기 = 302
  요약 = 304
부록 = 305
  A. Khadas VIM3 하드웨어 소개 = 305
  B. 안드로이드 9.0 포크 소스 = 310
    소스 다운로드 = 310
    이미지 빌드 = 311
    이미지 플래싱 = 313
  C. 안드로이드 11.0 정규 AOSP 소스 = 317
    소스 다운로드 = 317
    이미지 빌드 = 318
    이미지 플래싱 = 320
닫기