본문 바로가기

Android

2/22 #1

반응형
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의 내요은 적재한 상태