ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AndroidCodec 2nd Morning
    [Developer]/Android 2011. 5. 24. 11:54

     

    안드로이드에서 미디어라고 말하는 것은 세가지 이다.

    카메라, 음성, 영상.

     

    코덱을 공부하기위해 필요한 첫 단계는 각 파일의 위치에 대한 구조를 파악하는 것이 우선이다.

     

    init.rc에서 loglevel을 정한다.

     

    꼭보아야 하는 파일 리스트

    튜닝 관련하여

    1. /proc/sys/*
    2. /sys/*
    3. 커널 파라미터

     

    디바이스는 메이저 넘버와 마이너 넘버가 적혀있어야 한다.

     

    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 .....

     

    이 글은 스프링노트에서 작성되었습니다.

    댓글 0

Designed by Tistory.