회원 및 비회원 모두 열람이 가능합니다. 최대 업로드 가능한 용량은 20MB 입니다.

안녕하세요.


고도리입니다.


Android 포팅 책 최종 목차를 올립니다. 페이지수도 있으니 대략의 분량이 짐작 되실겁니다.

(실제 책은 좀 더 늘어날 겁니다)


참고하시기 바랍니다.


=================================================================================

1.    Google Android    7
1.1    안드로이드 개요    7
1.2    안드로이드의 특징    8
1.3    안드로이드의 구성요소 및 구조    10
1.4    안드로이드 커널    12
1.5    안드로이드용 리눅스 커널 패치 내용    13
1.6    Android Libraries 계층    14
1.6.1 Libraries 계층의 구성    15
1.6.2 대표적인 Binder Service    17
1.6.3 Android Runtime    18
1.6.4 Application Framework    20
1.6.5 Application    21
1.7    개발환경    21
1.7.1 이클립스 IDE    21
1.7.2Android Emulator    22
1.7.3 Target Board    22
1.7.4Android 시스템 구조    23
1.7.5Android Root FileSystem    24
1.8    Android 개발방법    24
1.8.1 Android SDK를 이용한 개발    25
1.8.2 PDK(Platform Development Kit)를 이용한 개발    26
1.8.3 NDK(Native Development Kit)를 이용한 개발방법    31
1.9    Android init process와 부팅과정    32
1.9.1    init 프로세스의 시작    33
1.9.3 Zygote의 시작.    34
1.9.4 이후의 과정    35
1.10    Android의 init    40
1.10.1 android init의 특징    40
1.10.2 안드로이드에서의 init와 보안의 관계    41

2. Android의 init process 분석    44
2.1. Android init 세부분석    44
2.1.1 RC 파일 문법    45
2.2 init 소스 분석    48
2.3. 실습 ? setprop을 이용한 init service 제어    61
3. udev 와 ueventd, Android device mamagement    62

3.1. udev 탄생 배경    63
3.2. Udev란?    63
3.3. Udev의 특징    64
3.4. Udev 설정    65
3.5. uevent와 device    66
3.6. ueventd    69
4. Android Input Device    78
4.1 Input Device 개요    78
4.2 Android Input Device Driver    92
4.2.1 Android key driver    93
4.2.2 Android touchscreen driver    96
4.2.3 Android switch event device driver    98
4.3 Android Input Manager    104
4.3.1 Input Manager와 JNI    104
4.3.2 InputReader Class와 InputDispatcher Class    109
4.4 Kernel의 GPIO KEY/GPIO INPUT Driver    125

5. Sensor Sub System    130
5.1 Sensor의 종류    130
5.2 Sensor System의 구성과 이해    132
5.3 Sensor의 NDK Interface 소개    134
5.4 Sensor Manager    134
5.4.1 초기화    134
5.4.2 SensorManager 객체 생성 및 동작    136
5.4.3 Listner의 등록    139
5.5 정리    142

6. Android GPS Sub System    143
6.1 Android에서의 GPS 동작    144
6.2 Android GPS Source 분석    146
6.2.1 Loction Manager Service의 시작    148
6.2.2 초기화 함수의 시작    150
6.2.3 GPS 동작의 시작    166
6.3 GpsLocationProvider Message 처리 구조    170

7. Android Audio Sub System    176
7.1 Android에서의 사운드 개요    176
7.2 Android 사운드 구조    180
7.3 Android 사운드 시스템과 HAL 초기화 순서    183
7.3.1 Android 사운드 서브시스템 관련 용어    186
7.3.2 AudioFlinger와 HAL의 초기화    187
7.4 AudioFlinger    220
7.4.1 AudioFlinger의 class 구조    220
7.4.2 IAudioFlinger Interface    224
7.4.3 ThreadBase Class    227
7.4.4 TrackBase    234
7.4.5 TrackHandle, RecordHandle    240
7.4.6 PlaybackThread(MixerThread)의 생성    247
7.4.7 RecordThread의 생성    251
7.4.8 DuplictingThread의 생성    256
7.5 AudioPolicyService    264
7.5.1 AudioPolicyService의 도입 이유    264
7.5.2 AudioPolicyService 구조    265
7.5.3 AudioPolicyService와 HAL의 초기화    265
7.5.4 AudioPolicyService() 생성자    267
7.5.5 HAL 초기화 함수    276
7.6 AudioPolicyManager    282
7.6.1 입출력 디바이스 관리    282
7.6.2 음량(Volume) 제어    293
7.6.3 오디오 정책 관리(Audio Policy Management)    302
7.7 AudioFlinger HAL의 Class 구조    312
7.7.1 제어경로 분석    320
7.7.2 데이터 경로    332
7.7.3 Downsampling - 안드로이드 오디오 코드의 특이성    356

8. Android IPC Binder    361
8.1 OpenBinder 개요    361
8.1.1 Binder의 사용 이유    362
8.2 Linux에서의 IPC와 Android IPC와의 관계    364
8.2.1 Linux의 종류와 개요    364
8.2.2 BSD의 UDS( Unix Domain Socket )    365
8.2.3 System V IPC의 Message Queue    366
8.2.4 System V IPC의 Shared Memory    367
8.2.5 System V IPC의 Semaphore    367
8.2.6 UNIX 계열의 IPC의 특징    367
8.2.7 System V IPC를 사용한 process간 통신의 간단한 block diagram    368
8.2.8 Android의 IPC    368
8.3 Android Binder의 기본 동작 설명 ( 예제 )    368
8.4 Android Binder Device Driver    371
8.5 ServiceManager 부분 분석    374
8.6 Android Framework에서의 Binder    378
8.7 Binder IPC의 사용    385
8.7.1 Service ( Server 만들기 )    385
8.7.2 Client    389
8.8 Binder의 RPC(Remote Procedure Call) 사용    393
8.8.1 Binder의 RPC 동작 메커니즘    396
8.8.2 IServiceManager 동작    399
8.8.3 Binder RPC의 실제 구현 예(PermissionController)    399
8.8.4 Binder 서비스 구현 (ABC service)    403
8.9 Binder RPC service의 실현의 예 (AudioFlinger로의 접근)    416
8.10 양방향 IPC Binder    417
8.11 Binder를 이용한 Android 시스템 제어 (Audio Subsystem)    426
8.12 Binder에 대한 정리    474

9. Android Camera System    476
9.1 개요    476
9.2 Android Camera System의 이해    476
9.3 카메라 애플리케이션    480
9.3.1 카메라 예제 애플리케이션 (CameraPreview)    480
9.3.2 Android 카메라 기본 애플리케이션 (Camera.apk)    485
9.3.3 Callback    490
9.4 카메라 애플리케이션 프레임워크    496
9.5 카메라 클라이언트    502
9.6 카메라 서비스    510
9.6.1 카메라 서비스의 시작    510
9.6.2 카메라 서비스    512
9.7 카메라 HAL    521
9.7.1 카메라 HAL - libcamerastub    522
9.7.2 카메라 HAL - libcamera (Nexus-S)    535
9.8 결론    553

10. Android GDI ( Graphics Device Interface )    554
10.1 안드로이드 GDI 개요    554
10.2 Android GDI 시스템에서의 디스플레이 버퍼 관리 기법 - 스크린 디바이스 관리를 위한 Android GDI(동적 링크 라이브러리)    558
10.2.1 Basics    558
10.2.2 Android 버퍼 추상화    561
10.3 Android GDI 시스템에서 공유 버퍼 관리 기법    565
10.3.1 private_handle_t의 native_handle_t 패키지    565
10.3.2 GraphicBufferMapper의 역할    567
10.3.3 GraphicBuffer    569
10.4 SurfaceFlinger    570
10.4.1 Android SurfaceFlinger의 의미와 역할    570
10.4.2 SurfaceFlinger 관련 용어    572
10.4.3 SurfaceFlinger와 응용프로그램간의 함수 호출 구조    574
10.4.4 SurfaceFlinger의 블록 다이어그램    575
10.4.5 SurfaceFlinger 관련 source list    576
10.5 SurfaceFlinger의 기능과 구성요소    577
10.6 SurfaceFlinger의 초기화    578
10.7 SurfaceFlinger의 threadLoop() 함수    581
10.7.1 handleTransaction()    584
10.7.2 handlePageFlip()    587
10.7.3 handleRepaint()    591
10.7.4 postFrameBuffer()    594
10.8 SurfaceSession과 Surface의 생성    596
10.9 LayerBase    609
10.10 copybit    617

부록    619


Appendix 1. 리눅스 개요    619
1.1 유닉스의 탄생 배경    619
1.2 리눅스의 시작과 인물들    620
1.3 리눅스 개요    622
1.4 리눅스 운영체제의 특징    623
1.5 임베디드 시스템과 리눅스    625
1.6 임베디드 리눅스 시스템의 구성    626
1.7 Linux kernel 2.6    627
1.8 HardWare Support    629
1.9 File System    631
1.10 버전 특성    632

Appendix 2. Android 컴파일    632
2.1 개발환경 구축하기    632
2.1.1 VirtualBox 설치하기    633
2.1.2 VirtualBox 설정하기    636
2.1.3 Ubuntu Linux 설치하기    645
2.1.4 Android 개발환경    649
2.1.5 Android 코드 내려받기    650
2.1.6 Android 코드 컴파일 하기    651

Appendix 3. Audio Headset Detection    653
3.1 Android Framework 부분    653

Appendix 4. Package Manager Service    660
4.1 Package Manager Service의 시작    661
4.2 Package Install    663
4.3 Package Delete    673
4.4 Scan Package    680

Appendix 5. 참조 사이트    688


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 [교육관련] 게시물 --> 반드시 "교육 및 세미나 홍보" 게시판 ... 관리자 2013-12-12 18754
공지 [질문]하실 때 부탁드립니다. 관리자 2013-07-10 21741
259 [Android 포팅책] 표지가 나왔습니다. file [12] 관리자 2011-06-10 7016
258 [오픈소스] git 사이트를 오픈하였습니다. [10] 관리자 2011-05-30 12559
257 [공동구매] V310 보드 공동구매 진행합니다(마감완료). file [43] 관리자 2011-05-25 16434
256 [AESOP보드] Exynos4 Board 5월 25일서부터 공제 들어갑니... [10] 관리자 2011-05-23 14365
» [Android 포팅책] 최종 목차를 올립니다. [9] 관리자 2011-05-18 8551
254 [Android Porting 책] 6월 20일 경에 서점에서 보실 수 ... [9] 관리자 2011-05-14 14105
253 [Android책/목차포함] 5/10일 이후에 최종진행 방법을 정리해서... [9] 관리자 2011-05-08 14513
252 [안내] 4월 8일 오전에 발생한 데이터베이스 오류복구. [1] 관리자 2011-04-09 9140
251 [Android책] 초고가 마무리 되었습니다. [22] 관리자 2011-03-22 11670
250 [Android책] Android NDK 책도 동시 진행됩니다. [4] 관리자 2011-03-01 13361
249 [Android책] 출판 됩니다 - AESOP 운영진 공저 [28] 관리자 2011-02-25 15486
248 [S5P6450] 개발보드 제작 관련 - 분위기 조사(?) [33] 관리자 2011-02-17 11213
247 [신형칩] S5P6450 SoC 소개 file [6] 관리자 2011-01-28 20792
246 [사이트불안정] 서버의 불안 증세 [1] 관리자 2011-01-15 11528
245 [신년인사] 새해 복 많이 받으세요 & 임베디드 리눅스 공부에... [14] 관리자 2011-01-01 21242
244 [문서관련] 배송관련 책관련 문서보는 순서 file 관리자 2010-12-30 15519
243 [공지] V210 보드 관련 책자 배송안내 [16] 관리자 2010-12-23 17141
242 [사이트/교재] 해킹 비슷한 사건과 교재 프린트 들어갔습니다. [13] 관리자 2010-12-22 12255
241 [보드문서] v210관련 manual/android 교재관련 [3] 관리자 2010-12-10 13993
240 [공제관련] WIFI module이 정해졌습니다. [7] 관리자 2010-11-19 33480

사용자 로그인