안드로이드 시스템 최적화를 위한

안드로이드 프레임워크 분석

수강대상

안드로이드 프레임워크의 내부 구조를 알고 싶으신 분
안드로이드 바인더를 이해 및 활용하고 싶으신 분
안드로이드 시스템을 커스터마이징하고 싶으신 분

선수과정

기초 C 프로그래밍
기초 JAVA 프로그래밍
고급 자료구조
네트워크 프로그래밍

강의환경

Ubuntu(Linux)
Android SDK/NDK/PDK
Android Kitkat
Nexus7

  • Section1. 안드로이드 개념
    • 안드로이드 플랫폼의 이해
    • 안드로이드와 리눅스
    • 안드로이드의 구성 요소
    • 안드로이드 프레임워크의 개념과 이해
    • 개발 환경의 이해
  • Section2. init 프로세스
    • 안드로이드에서의 init 프로세스
    • init 프로세스의 실행
    • 표준 입출력 처리 분석
    • 로그 처리 분석
    • 프로퍼티의 개념과 분석
    • init.rc 스크립트 분석
    • 자식 프로세스의 종료 처리 분석
  • Section3. 바인더 라이브러리
    • 바인더의 개념과 이해
    • IPC/RPC
    • 서비스 매니저와 컨텍스트 매니저
    • 서비스와 클라이언트의 구현
    • 바인더 프로토콜의 분석
  • Section4. PDK(Platform Development Kit)
    • 안드로이드 빌드 시스템
    • PDK의 개념과 이해
    • NDK와의 차이점
    • 빌드 스크립트(Android.mk)
    • PDK 사용 방법
  • Section5. 안드로이드 프레임워크
    • 프레임워크의 개념과 이해
    • 애플리케이션 프레임워크
    • 서비스 프레임워크
    • 프레임워크를 위한 C++
    • 서비스 프레임워크의 구현
    • 정방향 바인더 / 역방향 바인더
    • 바인더를 활용한 하드웨어 제어 애플리케이션의 구현
  • Section6. 안드로이드 서비스(카메라) 분석
    • 카메라 서비스 서버 코드 분석
    • 카메라 서비스 클라이언트 코드 분석
    • 콜백 함수 등록 및 호출 처리 분석
    • 카메라 하드웨어 HAL 구조 분석
  • Section7. 안드로이드 런타임
    • 안드로이드 런타임의 이해
    • Zygote 프로세스의 이해
    • Zygote 프로세스 분석