본문내용 바로가기
무료배송 소득공제

안드로이드 아나토미 안드로이드 시스템 서비스 동작 원리 분석

개발자가 행복한 세상 플랫폼 시리즈 1
김태연 , 박지훈 , 김상엽 , 이왕재 지음 | 개발자가행복한세상 | 2011년 08월 11일 출간
  • 정가 : 40,000원
    판매가 : 36,000 [10%↓ 4,000원 할인]
  • 혜택 :
    [기본적립] 2000원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2,000원 추가적립 안내 [회원혜택] 회원 등급 별, 3만원 이상 구매 시 2~4% 추가적립 안내 [리뷰적립] 리뷰 작성 시 e교환권 최대 300원 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 도서상태 : 절판
상품상세정보
ISBN 9788996603108(8996603104)
쪽수 510쪽
크기 B5 판형알림

책소개

이 책이 속한 분야

『안드로이드 아나토미』에서는 안드로이드 플랫폼을 구성하고 있는 핵심 컴포넌트인 네이티브 시스템 서비스의 동작원리를 심도 있게 분석하고 있다. 저자들이 안드로이드 프레임워크의 주요 소스코드를 직접 분석하고 정리하였으며, 프레임워크의 동작을 이해하기 위한 각종 기초 지식과 안드로이드 플랫폼만의 특징인 오디오 플링거 서비스, 서피스 플링거 서비스, 카메라 서비스의 동작 메커니즘을 자세히 다루고 있다.

목차

01장. 안드로이드 아나토미 소개
1.1 인사이드 안드로이드와의 연결성
1.2 본서의 서술 스타일
1.3 정리

02장. 안드로이드 개발 환경 구축
2.1 호스트 환경 구성
2.1.1 VirtualBox 설치
2.1.2 우분투(64bit) 설치
2.2 안드로이드 시스템 빌드 환경 구축
2.2.1 플랫폼 빌드에 필요한 유틸리티
2.2.2 JDK 설치
2.2.3 필수 패키지 설치
2.2.4 Repo 설치 24
2.2.5 안드로이드 시스템의 소스 코드 내려받기
2.2.6 안드로이드 시스템 빌드
2.3 넥서스 원에 안드로이드 시스템 설치
2.3.1 USB 장치 접근 설정 28
2.3.2 넥서스 원 빌드를 위한 환경 설정
2.3.3 넥서스 원에 안드로이드 시스템 설치하기
2.4 안드로이드 로그 시스템
2.4.1 안드로이드 로그 시스템의 구성
2.4.2 이클립스에서 로그 생성하고 출력하기
2.4.3 logcat 사용하기
2.5 GDB를 이용한 디버깅
2.5.1 GDB를 이용한 디버깅 준비하기 - 타겟 시스템
2.5.2 GDB를 이용한 디버깅 준비하기 - 호스트 시스템
2.5.3 logcat 디버깅

03장. 안드로이드 시스템 서비스
3.1 시스템 서비스의 종류
3.1.1 네이티브 시스템 서비스
3.1.2 하드웨어 서비스
3.1.3 코어 플랫폼 서비스
3.2 시스템 서비스의 생성과정
3.2.1 미디어 서버의 실행 코드 분석
3.2.2 시스템 서버의 실행 코드 분석
3.3 시스템 서비스의 프로세스와 쓰레드
3.3.1 미디어 서버와 쓰레드
3.3.2 시스템 서버와 쓰레드
3.4 서비스 프레임워크
3.4.1 서비스 프레임워크 개요
3.4.2 예제를 이용한 서비스 프레임워크의 이해
3.5 자바 네이티브 인터페이스
3.5.1 JNI 네이티브 메서드 등록
3.5.2 자바에서 네이티브 메서드 호출하기
3.5.3 네이티브에서 자바 클래스 사용하기
3.6 하드웨어 추상 계층 (HAL)
3.6.1 HAL 종류
3.6.2 HAL 구조
3.6.3 HAL의 동적 로딩 예제
3.7 레이어 인터렉션
3.7.1 레이어 인터렉션의 종류
3.7.2 “가” 레이어 인터렉션 예제
3.7.3 나 레이어 인터렉션 예제
3.7.4 정리

04장. Advanced 바인더 IPC
4.1 바인더 IPC 개요
4.1.1 서비스 클라이언트와 서비스 서버
4.1.2 컨텍스트 매니저와 서비스 매니저
4.1.3 바인더 드라이버
4.2 구성요소간 상호작용
4.2.1 시스템 서비스 등록
4.2.2 시스템 서비스 검색
4.2.3 시스템 서비스 사용
4.2.4 정리
4.3 네이티브 리모트 서비스
4.3.1 정방향 리모트 서비스FRS 생성
4.3.2 역방향 리모트 서비스BRS 생성
4.3.3 리모트 서비스 프록시의 공유
4.3.4 정방향 리모트 서비스 예제
4.4 안드로이드 공유 메모리
4.4.1 공유 메모리 개요
4.4.2 애쉬맴 개요
4.4.3 애쉬맴 생성 (서비스 서버)
4.4.4 애쉬맴 사용 (서비스 클라이언트)
4.5 파일 식별자 전달 메커니즘
4.5.1 파일 식별자 전달 개요
4.5.2 애쉬맴 파일 식별자 요청 과정
4.5.3 애쉬맴 파일 식별자 반환 과정
4.6 MemoryHeapBase 리모트 서비스
4.6.1 MemoryHeapBase 리모트 서비스 구조
4.6.2 MemoryHeapBase 예제 애플리케이션
4.6.3 화면 캡쳐 요청 (서비스 클라이언트)
4.6.4 화면 캡쳐 (서비스 서버)
4.6.5 공유 메모리 사용 (서비스 클라이언트)
4.7 MemoryBase 리모트 서비스
4.7.1 MemoryBase 리모트 서비스 구조
4.7.2 MemoryBase 예제 애플리케이션
4.7.3 MemoryBase 생성 (서비스 서버)
4.7.4 MemoryBase 사용 (서비스 클라이언트)

05장. 안드로이드 오디오 시스템
5.1 오디오 시스템의 개요
5.1.1 오디오 시스템의 역할
5.1.2 PCM 데이터
5.1.3 트랙과 플레이백 쓰레드
5.1.4 오디오 장치 소개
5.2 오디오 시스템의 구조
5.2.1 오디오 시스템 계층별 구성요소
5.2.2 오디오 시스템 아키텍쳐
5.2.3 오디오 HAL 구조
5.3 오디오 플링거 서비스 초기화
5.3.1 오디오 HAL의 결정
5.3.2 출력 스트림과 플레이백 쓰레드 생성
5.4 오디오 출력
5.4.1 오디오 출력 애플리케이션
5.4.2 오디오 출력의 동작 과정
5.4.3 트랙 생성 요청 (서비스 클라이언트)
5.4.4 트랙 생성 과정 (서비스 서버)
5.4.5 트랙 공유 메모리 생성
5.4.6 오디오 트랙 컨트롤 블록 생성
5.4.7 트랙 생성
5.4.8 트랙 공유 메모리 참조 (서비스 클라이언트)
5.4.9 트랙 활성화 요청 (서비스 클라이언트)
5.4.10 트랙 활성화 (서비스 서버)
5.4.11 PCM 데이터 출력 요청 (서비스 클라이언트)
5.4.12 PCM 데이터 출력 준비 (서비스 서버)
5.4.13 PCM 데이터 리샘플링과 믹싱
5.4.14 PCM 데이터 출력
5.4.15 오디오 출력의 모든 것 (삽질과 굴삭기)

06장. 서피스 플링거 서비스
6.1 서피스 플링거 서비스 소개
6.1.1 다양한 종류의 안드로이드 화면
6.1.2 레이어 합성
6.1.3 OpenGL ES와 EGL
6.1.4 현재 프레임과 드로잉 프레임
6.1.5 그래픽 버퍼 공유
6.1.6 프레임 버퍼와 픽셀 포맷
6.2 서피스 플링거 서비스 구조
6.2.1 서피스 플링거 서비스 계층별 구성요소
6.2.2 서피스 플링거 서비스 아키텍처
6.3 서피스 플링거 서비스 초기화
6.3.1 SurfaceFlinger 클래스의 인스턴스 생성
6.3.2 메인 디스플레이 초기화
6.3.3 네이티브 윈도우 생성
6.3.4 EGL 초기화6
6.3.5 디스플레이 공유 메모리FRS 생성
6.3.6 부트 애니메이션
6.4 핵심기능 분석 (푸시 버퍼 서피스)
6.4.1 화면 출력 애플리케이션
6.4.2 서피스 플링거 서비스 연결 요청 (서비스 클라이언트)
6.4.3 서피스 플링거 서비스 연결(서비스 서버)
6.4.4 푸시 버퍼 서피스 생성 요청 (서비스 클라이언트)
6.4.5 푸시 버퍼 서피스 생성(서비스 서버)
6.4.6 푸시 버퍼 등록 요청(서비스 클라이언트)
6.4.7 푸시 버퍼 등록(서비스 서버)
6.4.8 레이어 상태 변경 요청 (서비스 클라이언트)
6.4.9 레이어 상태 변경(서비스 서버)
6.4.10 푸시 버퍼 출력 요청 (서비스 클라이언트)
6.4.11 푸시 버퍼 출력 (서비스 서버)

07장. 카메라 서비스
7.1 카메라 서비스 소개
7.1.1 카메라 하드웨어의 이해
7.1.2 카메라 서비스의 주요 기능
7.2 카메라 서비스 구조와 생성
7.2.1 카메라 서비스 계층 분석 및 구성 요소
7.2.2 카메라 서비스 아키텍쳐
7.2.3 카메라 서비스 생성
7.3 예제를 통한 카메라 서비스 동작의 이해
7.4 카메라 서비스 연결
7.4.1 카메라 서비스 연결 요청 (애플리케이션 프레임워크)
7.4.2 카메라 서비스 연결 요청 (서비스 클라이언트)
7.4.3 카메라 서비스 연결 (서비스 서버)
7.4.4 카메라 HAL 초기화
7.4.5 카메라 클라이언트FRS 리모트 서비스 생성
7.4.6 카메라 클라이언트FRS 리모트 서비스 콜백 함수 등록 (카메라 HAL)
7.4.7 카메라BRS 리모트 서비스 콜백 함수 등록
7.4.8 카메라 애플리케이션 콜백 함수 등록
7.5 카메라 영상 서피스 설정
7.5.1 카메라 영상 서피스 설정 요청 (애플리케이션 프레임워크)
7.5.2 카메라 영상 서피스 설정 요청 (서비스 클라이언트)
7.5.3 카메라 영상 서피스 설정 (서비스 서버)
7.6 카메라 설정 정보 획득
7.6.1 카메라 설정 정보 요청 (애플리케이션 프레임워크)
7.6.2 카메라 설정 정보 요청(서비스 클라이언트)
7.6.3 카메라 설정 정보 획득(서비스 서버)
7.6.4 카메라 설정 관리 클래스
7.7 카메라 설정 변경
7.7.1 사용자 카메라 설정 변경 요청(애플리케이션 프레임워크)
7.7.2 사용자 카메라 설정 변경 요청(서비스 클라이언트)
7.7.3 사용자 카메라 설정 변경(서비스 서버)
7.7.4 카메라 영상 데이터 버퍼 할당
7.8 카메라 미리보기
7.8.1 미리보기 시작 요청(애플리케이션 프레임워크)
7.8.2 미리보기 시작 요청(서비스 클라이언트)
7.8.3 미리보기 시작(서비스 서버)
7.8.4 프리뷰 쓰레드 생성 (카메라 HAL)
7.8.5 미리보기 영상 데이터 전달
7.9 카메라 사진 촬영
7.9.1 사진 촬영 요청(애플리케이션 프레임워크)
7.9.2 사진 촬영 요청(서비스 클라이언트)
7.9.3 사진 촬영 (서비스 서버)
7.9.4 픽쳐 쓰레드 생성 (카메라 HAL)
7.9.5 사진 촬영 데이터 전달 이해

책 속으로

"안드로이드 플랫폼에 관심 있는 사람은 누구나 이해할 수 있는 안드로이드 플랫폼 전문서"

『인사이드 안드로이드』를 통해 안드로이드 플랫폼을 구성하고 있는 근본원리에 관한 분석 및 집필을 마친 후 드는 강한 지적 호기심은 실제 시스템 서비스들이 근본원리 위에서 어떻게 동작하는지에 관한 것이었다. 그러나 시스템 서비스의 소스 분석에는 다양한 분야의 스터디 구성원이 필요했으며, 실제 서비스를 구현한 코드의 양은 기본적인 구성요소의 구현 코드보다도 적게는 10배에서 많게는 100배에 이를 정도로 매우 방대하였다. 따라서 분석을 해 보... 더보기

출판사 서평

『안드로이드 아나토미』에서는 안드로이드 플랫폼을 구성하고 있는 핵심 컴포넌트인 네이티브 시스템 서비스의 동작원리를 심도 있게 분석하고 있다. 저자들이 안드로이드 프레임워크의 주요 소스코드를 직접 분석하고 정리하였으며, 프레임워크의 동작을 이해하기 위한 각종 기초 지식과 안드로이드 플랫폼만의 특징인 오디오 플링거 서비스, 서피스 플링거 서비스, 카메라 서비스의 동작 메커니즘을 자세히 다루고 있다.

안드로이드 플랫폼 핵심 컴포넌트의 동작원리를 분석한 최초의 서적
『안드로이드 아나토미』에서는 안드로이드 플랫폼을 구성하고 있는 핵심... 더보기

Klover 리뷰 (0)

북로그 리뷰 (0) 쓰러가기

북로그 리뷰는 본인 인증 후 작성 가능합니다.
책이나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 내용은 비공개 처리 될 수 있습니다.
※ 북로그 리뷰 리워드 제공 2021. 4. 1 종료

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매 후 문장수집 작성 시, 리워드를 제공합니다. 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①서양도서-판매정가의 12%, ②일본도서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함
바로가기
  • 우측 확장형 배너 2
  • 우측 확장형 배너 2
최근 본 상품