인사이드 안드로이드

송형주
512p
content
평가하기
코멘트
더보기

안드로이드 프레임워크 분석을 위한 국내 최초의 참고 서적으로, 안드로이드 프레임워크의 구조가 궁금한 개발자들에게는 한줄기 단비와 같은 책이다. 현재 안드로이드 SDK를 이용한 애플리케이션 개발과 관련한 자료들은 인터넷이나 서점에서 쉽게 찾아볼 수 있지만, 안드로이드 프레임워크의 구조와 동작 원리를 다룬 책은 전무하다. 구글조차 안드로이드 프레임워크 내부를 다룬 구체적인 자료를 제대로 공개하지 않고 있다. 이 책에서는 안드로이드 부팅 프로세스를 통한 프레임워크 초기화 과정 및 주요 컴포넌트들의 동작 원리를 중점적으로 다룬다. 저자들이 안드로이드 프레임워크의 주요 소스코드를 직접 분석하고 정리하였으며, 프레임워크의 동작을 이해하기 위한 각종 기초 지식과 실제 안드로이드 플랫폼에 근간을 이루는 서비스 프레임워크에 대해 자세하게 설명하고 있다. 이 책은 몇몇 지적 개척자들이 불 꺼진 대학강의실에서 빔 프로젝트가 뿌려대는 소스코드를 통해 아직 미지의 영역인 안드로이드 프레임워크를 탐험하면서 발견한 내용을 기록한 일지이다. 구글이 꼭꼭 숨겨놓은 코드의 비밀을 이해할 때 느꼈던 짜릿한 기쁨기쁨의 과정들을 이 책을 통해 독자들과 함께 하고자 한다.

저자/역자

목차

1장 안드로이드 프레임워크 개요 1.1 안드로이드 프레임워크의 소스코드 구조 1.2 부팅 프로세스로 알아보는 안드로이드 프레임워크 2장 안드로이드 개발 환경 구축 2.1 호스트 환경 구성 - 2.1.1 VirtualBox 설치 - 2.1.2 우분투 설치 2.2 안드로이드 시스템 빌드 환경 구축 - 2.2.1 빌드 유틸리티 - 2.2.2 Repo 설치 - 2.2.3 안드로이드 시스템의 소스코드 내려받기 - 2.2.4 안드로이드 시스템 빌드 2.3 안드로이드 SDK 개발 환경 구축 - 2.3.1 이클립스 개발 환경 구축 - 2.3.2 안드로이드 SDK starter 패키지 다운로드 - 2.3.3 이클립스용 ADT 플러그인 설치 - 2.3.4 안드로이드 SDK 경로 설정 - 2.3.5 안드로이드 SDK에 플랫폼 및 예제 프로그램 추가하기 2.4 안드로이드 애플리케이션 개발 - 2.4.1 Hello 애플리케이션 작성 2.5 안드로이드 시스템 소스 레벨 디버깅 - 2.5.1 애플리케이션 프레임워크 소스 로딩 - 2.5.2 HelloWorld 프레임워크 소스 레벨 디버깅 3장 init 프로세스 3.1 init 프로세스의 실행 과정 3.2 init 프로세스의 소스코드 분석 3.3 init.rc 파일 분석 및 실행 - 3.3.1 액션 리스트 - 3.3.2 서비스 리스트 - 3.3.3 init.rc 파싱 코드 분석 - 3.3.4 액션 리스트 및 서비스 리스트의 실행 3.4 디바이스 노드 파일 생성 - 3.4.1 정적 디바이스 노드 생성 - 3.4.2 동적 디바이스 감지(HOT PLUG) 3.5 프로세스 종료와 재시작 - 3.5.1 프로세스 재시작 코드 분석 3.6 프로퍼티 서비스 - 3.6.1 프로퍼티 초기화 - 3.6.2 프로퍼티 변경 요청 처리 3.7. 정리 4장 JNI와 NDK 4.1 안드로이드와 JNI - 4.1.1 왜 안드로이드에서 JNI를 알아야 하는가? 4.2 JNI의 기본 원리 이해 - 4.2.1 자바에서 C 라이브러리 함수 호출하기 - 4.2.2 정리 4.3 JNI 함수 이용하기 - 4.3.1 JNI 함수를 활용하는 예제 프로그램의 구조 - 4.3.2 자바측 코드 살펴보기 - 4.3.3 JNI 네이티브 함수의 코드 살펴보기 - 4.3.4 컴파일 및 실행 결과 - 4.3.5 안드로이드에서의 활용 예 4.4 C 프로그램에서 자바 클래스 실행하기 - 4.4.1 호출 API 사용 예제 - 4.4.2 컴파일 및 실행 - 4.4.3 안드로이드에서 활용 예 : Zygote 프로세스 4.5 JNI 네이티브 함수 직접 등록하기 - 4.5.1 라이브러리 로드 시에 JNI 네이티브 함수 등록하기 - 4.5.2 안드로이드에서의 활용 예 : app_process 프로세스 4.6 안드로이드 NDK(Native Development Kit)로 개발하기 - 4.6.1 안드로이드 NDK 환경 설정 - 4.6.2 안드로이드 NDK 개발 따라하기 5장 Zygote 5.1 Zygote란 무엇인가? - 5.1.1 Zygote를 통한 프로세스의 생성 5.2 app_process로부터 ZygoteInit class 실행 - 5.2.1 AppRuntime 객체 생성 - 5.2.2 AppRuntime 객체 실행 - 5.2.3 달빅 가상 머신의 생성 - 5.2.4 ZygoteInit 클래스의 실행 5.3 ZygoteInit 클래스의 기능 - 5.3.1 /dev/socket/zygote 소켓 바인딩 - 5.3.2 애플리케이션 프레임워크에 속한 클래스와 플랫폼 자원의 로딩 - 5.3.3 SystemServer 실행 - 5.3.4 새로운 안드로이드 애플리케이션 실행 6장 안드로이드 서비스 개요 6.1 예제 프로그램 : 안드로이드 서비스 동작 이해 6.2 안드로이드 서비스 분류 6.3 안드로이드 애플리케이션 서비스 - 6.3.1 애플리케이션 서비스의 분류 - 6.3.1.1 로컬 서비스 - 6.3.1.2 리모트 서비스 6.4 안드로이드 시스템 서비스 - 6.4.1 시스템 서비스의 분류 - 6.4.1.1 네이티브 시스템 서비스 - 6.4.1.2 자바 시스템 서비스 6.5 시스템 서비스의 실행 - 6.5.1 미디어 서버의 실행 코드 분석 - 6.5.2 시스템 서버의 실행 코드 분석 6.6 안드로이드 서비스 프레임워크와 바인더 드라이버 개요 및 용어 정리 7장 안드로이드 바인더 IPC 7.1 리눅스 메모리 공간과 바인더 드라이버 7.2 안드로이드 바인더 모델 - 7.2.1 바인더 IPC 데이터의 전달 - 7.2.2 바인더 IPC 데이

출판사 제공 책 소개

프레임워크를 제대로 이해하지 않더라도 얼마든지 안드로이드 애플리케이션을 개발할 수 있습니다. 그러나 프레임워크의 구조에 익숙하고 그것의 동작 원리를 제대로 파악한다면 어떠한 개발 시나리오라도 주눅들지 않고 안드로이드 프레임워크에 최적화된 소프트웨어를 설계할 수 있다는 자신감이 생길 것입니다. 또한 안드로이드는 오픈소스로 제공되므로 각 하드웨어 벤더는 기본 안드로이드 프레임워크를 커스터마이즈해서 경쟁사와 차별화한 제품을 출시하고 있습니다. 안드로이드 프레임워크를 바탕으로 차별화한 자사 솔루션을 구축하려면 안드로이드 프레임워크에 대해 정확하고 심도있게 분석할 필요가 있습니다. 『인사이드 안드로이드』는 안드로이드 시스템 소스코드 분석을 통해 안드로이드의 프레임워크를 심도 있게 다루고 있습니다. 안드로이드의 좀 더 깊은 곳을 알고 싶거나 최적화된 안드로이드 솔루션을 개발하고자 하는 개발자 여러분께 이 책을 추천합니다. 이 책에서 다루는 내용 - 부팅 프로세스로 알아보는 안드로이드 프레임워크 개요 - 안드로이드를 포팅하고, 각 기기의 특성에 맞는 프로그램을 개발하기 위한 기초 지식 - 안드로이드 프레임워크 분석에 필요한 기초 지식 - JNI(Java Native Interface)와 바인더(Binder) - Zygote, 서비스 매니저, 서비스 서버 등과 같은 안드로이드 핵심 컴포넌트 분석 - 안드로이드 서비스 프레임워크의 구조와 이해 - 카메라 서비스, 액티비티 매니저 서비스 등을 통한 실제 안드로이드 서비스 분석

본 사이트의 모든 콘텐츠는 왓챠피디아의 자산이며, 사전 동의 없이 복제, 전재, 재배포, 인용, 크롤링, AI학습, 데이터 수집 등에 사용하는 것을 금지합니다.

  • 데이터 출처
  • 서비스 이용약관
  • 개인정보 처리방침
  • 회사 안내
  • © 2025 by WATCHA, Inc. All rights reserved.