안드로이드에서 미디어라고 말하는 것은 세가지 이다.
카메라, 음성, 영상.
코덱을 공부하기위해 필요한 첫 단계는 각 파일의 위치에 대한 구조를 파악하는 것이 우선이다.
init.rc에서 loglevel을 정한다.
꼭보아야 하는 파일 리스트
튜닝 관련하여
- /proc/sys/*
- /sys/*
- 커널 파라미터
디바이스는 메이저 넘버와 마이너 넘버가 적혀있어야 한다.
core/init/devices.c
이 부분에 각 시스템 프로퍼티 설정을 한다.
system/vold/ 이곳은 sdcard에서 읽는 부분과 연관이 있는 부분이다.
cts는 api의 호환성 테스트 용이다.
또한 코덱을 위해선 build, external, framework, hardware, out을 보자.
**build
envsetup.sh을 통해서 빌드의 환경을 설정한다.
/core 안에 prelink-linux-arm.map 파일을 기억하라.
여기에 필요하다고 느끼는 so파일을 첨가시키자.
이 때 각 파일별로 할당되는 메모리 크기가 다양하기 때문에 꼭 첨가시에는 최적의 크기를 테스트해서 적용해야 한다.(파일 사이즈와 일치하지 않는다.)
version_defaults.mk 파일에서 버전을 설정한다.
에뮬레이터를 내가 만든 플랫폼으로 교체하고 싶으면 내가 빌드한 system.img파일로 교체하면 된다.
frameworks/base/core/jni에 보면 중요한 cpp파일이 많이 있다. jni의 핵심 디렉토리이다.
빌드순서
build/envsetup.sh
chooseproduct sec_smdkv210
[generic] sec_smdkv210
mmm packages/apps/Browser
Binder는 시스템의 영역을 보호하고 있기 때문에 app이 crash나도 시스템 전체에 영향을 주진 않는다.
멀티미디어를 처리하는 Service Manager.
안드로이드 root filesystem에서 실행파일은 /system/bin/servicemanager이다.
frameworks/base/libs/utils는 Android Binder관련 핵심 디렉토리이다.
Binder의 사용은
IPC와 RPC용으로 사용한다.
관련 중요 헤더파일들
utils/RefBase.h .....
이 글은 스프링노트에서 작성되었습니다.
'[Developer] > Android' 카테고리의 다른 글
[Android] JDK7 사용자가 Sign 배포시 일어날 수 있는 문제. (1) | 2012.02.08 |
---|---|
AndroidCodec 2nd Afternoon (0) | 2011.05.25 |
AndroidCodec 1st Afternoon (0) | 2011.05.23 |
AndroidCodec 1st Morning (0) | 2011.05.23 |
Android CTS(Android Compatibility Test Suite) (0) | 2010.12.01 |
댓글