https://source.android.com/source/build-numbers.html
Code name
|
Version
|
API level
|
(no code name)
|
1.0
|
API level 1
|
(no code name)
|
1.1
|
API level 2
|
Cupcake
|
1.5
|
API level 3, NDK 1
|
Donut
|
1.6
|
API level 4, NDK 2
|
Eclair
|
2.0
|
API level 5
|
Eclair
|
2.0.1
|
API level 6
|
Eclair
|
2.1
|
API level 7, NDK 3
|
Froyo
|
2.2.x
|
API level 8, NDK 4
|
Gingerbread
|
2.3 - 2.3.2
|
API level 9, NDK 5
|
Gingerbread
|
2.3.3 - 2.3.7
|
API level 10
|
Honeycomb
|
3.0
|
API level 11
|
Honeycomb
|
3.1
|
API level 12, NDK 6
|
Honeycomb
|
3.2.x
|
API level 13
|
Ice Cream Sandwich
|
4.0.1 - 4.0.2
|
API level 14, NDK 7
|
Ice Cream Sandwich
|
4.0.3 - 4.0.4
|
API level 15, NDK 8
|
Jelly Bean
|
4.1.x
|
API level 16
|
Jelly Bean
|
4.2.x
|
API level 17
|
Jelly Bean
|
4.3
|
API level 18 |
Source Tree
├── bionic : bionic libc(BSD의 libc 수정)를 포함
├── bootable : bootloader, recovery mode 관련 코드
├── build : 빌드 관련 스크립트를 저장
│ ├── envsetup.sh : 환경 정보 설정 파일, 제조사의 Flag들에 대한 설정
│ │ ( source build/envsetup.sh 로 반영)
│ ├── core
│ │ └── prelink-linux-arm.map : shared library들이 로딩되는 번지를
│ │ 미리 지정한 파일
│ └── target
│ └── board
│ └── generic
│ ├── AndroidBoard.mk : 최상위 directive 파일,
│ │ Android 최종 결과물 구성서
│ │ 자동 포함 bin에 대한 install을 결정
│ │ init.rc, init%hw%.rc 들을 install
│ ├── BoardConfig.mk : HAL의 en/disable 등을 결정,
│ │ Android.mk파일들에서 사용되는 define을 선언
│ └── device.mk : 최종 결과물에 대해 filesystem설정 및
│ 포함시키고 싶은 binary들을 copy/install 결정
├── cts : Compatibility Test Suite, GMS를 탑재 위해 통과해야 하는 Test
├── dalvik : dalvik VM 관련 소스 코드
├── development : 개발용 application을 저장
│ (하위에 samples directory에 참고할만한 source가 많이 있다)
├── device : 칩 관련 설정 파일 및 디버깅을 위한 cmm 파일 등을 포함
├── external : 기존 작성된 library, binary등의 소스 코드를 포함
│ └── synergy : CSR synergy source
├── frameworks
│ ├── base : Android Framework Source Code
│ ├── cmds : binder 관련된 service manager 소스코드 및 여러 가지 command
│ ├── libs : Android base library(AudioFlinger,SurfaceFlinger,util,binder 등)
│ ├── media : media 관련 Client & Service 라이브러리
│ │ (media관련된 부분이 양이 많고 독립적이라 따로 빼서 관리함)
│ └── policies : Android 시스템을 background에서 제어하는 최상위 application
│ KeyGuard 관련, 화면 제어(rotation..),event 관리 등의 작업 처리
├── hardware : Android에서 사용하는 h/w 관련 소스 코드 포함(HAL, include..)
│ ├── libhardware : Board H/W 의존성이 높은 하드웨어 모듈 포함
│ └── libhardware_legacy: 일반적으로 Android에 반드시 있어야 하는 H/W 모듈
├── packages : Android 기본 Application 소스 코드를 포함
├── prebuilt : 툴체인과 미리 빌드되어 들어가는 바이너리 파일 포함
├── system : Android의 기본 바이너리 소스 코드(init…)
│ ├── core
│ │ ├── init : Android init 소스 코드
│ │ └── vold : external storage 제어 모듈 (Eclair)
│ └── vold : external storage 제어 모듈 (Froyo/Gingerbread)
├── vendor : vendor specific code(HAL, product list 관리…)
└── ndk : Native Development Kit (docs directory를 참고하면
도움이 많이 된다. : ANDROID-MK.html, SYSTEM-ISSUES.html, NDK-BUILD.html등)