반응형
GIT : version control system 의 master에서 관리
cupcake, donut, eclair등 branch 이름과 version은 또 다른 것이다.
branch가 안정화 되면 master에 반영한다.
SDK :
NDK : native development kit
보편적인 C, C++을 지원하기 위함이 아니다.
PDK : platform development kit
screen * density = resolution
1.6 NDK에서 open GL library 관련 함수 추가
Android Emulator는 physical device와 완벽하게 동일하다
-> 실제 device rom을 갖고 올 수 있다면 emulator에 설치하여 돌릴 수 있다.
EABI 제공 embedded application binary interface
goldfish - ARM926EJ-S 를 기반으로 에뮬레이션 해주고 있음
AVD - android virtual device 해상동 rom, ram 크디 등의 옵션을 설정할 수 있다
Webkit - WebCore , JSCore가 핵심인데
google이 JSCore 를 스컬피쉬로 바꿨다.
blade runner - zygote
Activity -> window -> view 계층 구조 형태로 add되어 화면을 구성한다.
bionic - libc, libstd++, libm, libdl, link
audio flinger, surface flinger, pixel flinger
surface flinger : surface들을 merge하여 displayer하도록 하는 역할
audio flinger : one source output multiple path
GMS: google mobile service
GED: google experience device
CTS에 의한 호환성 보장으로 device의 특성은 cpu 에 의존적일 수 있다.
Runtime
dalvik virtual machine
core libraries = android.jar
dx : dalvik exchnage class -> dex
zygote == > preload , prelink
----------------------------------------------------------------
Prelink 항목 /build/core/prelink-linux-arm.map
libandroid_servers.so 0xAD900000
libicudata.so 0xAD600000
libicuuc.so 0xAD500000
libicui18n.so 0xAD400000
libandroid_runtime.so 0xAD300000
libnativehelper.so 0xAD200000
libdvm ARM 0xAD100000
ANDROID RUNTIME
libdvm-ARM.so libdvm.so 0xAD000000
Start Android Services - Console, adbd, service manager, mountd, debuggerd, ril-daemon, zygote, mediaserver, installd, flash_recovery
AndroidManifest persistent = true -> applicationd이 항상 떠 있어야 한다.
exported -> 외부에서 자신의 호출을 허용
enabled -> zygote가 application의 내요은 적재한 상태