이미 소장하고 있다면 판매해 보세요.
|
01장: 왜 안드로이드인가?
안드로이드 채택하기 ___풀스택(Full Stack) 제공 ___폭넓은 수용성 ___미려한 사용자 인터페이스 ___리눅스 기반 ___막강한 개발 환경 ___오픈 소스 AOSP와 구글 다른 선택지 ___마이크로 컨트롤러 ___기타 RTOS 요약 02장: Acme 부팅하기 빌드 머신 구축하기 소스 코드 다운로드하기 Repo 소스 포크하기 ___안드로이드 버전 선택하기 ___로컬 미러 ___호스팅 서비스 Git 저장소 ___트리 스냅숏 저장소 커밋 고정하기 예: 포크된 저장소를 위한 로컬 미러 이미지 빌드하기 디바이스 툴 ___fastboot ___adb 디바이스 플래싱하기 요약 03장: 시작하기 안드로이드 계층 배치 ___하드웨어 ___리눅스 커널 ___시스템 라이브러리 ___애플리케이션 ___안드로이드 프레임워크 안드로이드 서비스 모델 소스 탐험하기 ___다른 소스들 ___박스에 뭐가 들어 있나? 요약 04장: 커널 리눅스 커널 ___커널 프로세스 관리 ___커널 메모리 관리 안드로이드 커널 ___안드로이드 커널 기능 커널 빌드하기 ___빌드 시스템 ___소스 다운로드하기 요약 05장: 플랫폼 보안 보안의 종류 자체 검사 부팅 (Verified Boot) 운영 보안 ___안드로이드 소프트웨어 계층 ___프로세스 샌드박스 ___안드로이드용 SE 리눅스 ___SE 정책 정의 ___안드로이드 권한 ___파일 시스템 사용자 보호 권한 커스터마이징 ___사용자 정의 권한에 의해 보호받는 샘플 앱 ___사용자 정의 권한을 사용하는 샘플 클라이언트 앱 요약 06장: 시스템 초기화: 시스템 설치와 부팅 부팅 절차 ___부트로더 ___Fastboot ___커널 ___파일 시스템 ___init 복구 데몬 빌드하기 Acme 디바이스 생성하기 Repo 다시 살펴보기 ___데몬 시작하기 요약 07장: 안드로이드의 시작: Dalvik과 Zygote Dalvik ART ___기본 ART ___하이브리드 ART Zygote ___Zygote 메모리 관리 ___Zygote 시작 ___런타임 초기화 ___시스템 서비스 시작 요약 인용 08장: 안드로이드와 통신하기: HAL 왜 HAL인가? HAL이 필요한가? HAL 설계하기 HAL 빌드하기 ___코드 구조 ___HAL 구현하기 요약 09장: 자바와 통신하기: JNI 코드 구조 하드웨어 사용하기 HAL 사용하기 자바 네이티브 인터페이스 사용하기 ___네이티브 코드 실행하기 ___JNI: 자바 측면 ___JNI: 네이티브 측면 ___자바 근접 센서 애플리케이션 ___JNI: 몇 가지 팁 요약 10장: 프로젝트 트레블: 바인더화된 HAL HIDL 아키텍처 ___hwservicemanager ___HIDL 서비스 ___HIDL 클라이언트 서비스 하드웨어 인터페이스 정의 언어 (HIDL) ___HIDL 타입 HIDL 서비스 HIDL 클라이언트 요약 11장: 바인더화된 HAL 만들기 Acme 커스텀 HIDL 요약 12장: 바인더화된 HAL의 클라이언트 네이티브 C++ Aproximity 클라이언트 ___aproximitycl을 위한 안드로이드 SE 리눅스 수정 항목 ___Aproximitycl을 Acme로 빌드하기 자바/코틀린 Aproximity 클라이언트 ___AproximityClient를 위한 안드로이드 SE 리눅스 수정 ___Acme 플랫폼에 AproximityClient 빌드하기 요약 부록 A. Khadas VIM3 하드웨어 소개 B. 안드로이드 9.0 포크 소스 ___소스 다운로드 ___이미지 빌드 ___이미지 플래싱 C. 안드로이드 11.0 정규 AOSP 소스 ___소스 다운로드 ___이미지 빌드 ___이미지 플래싱 |
Blake Meike
Larry Schiefer
|
★ 이 책에서 다루는 내용 ★
◎ 스마트 IoT 디바이스에 안드로이드를 사용할 경우의 여러 가지 장단점 평가 ◎ 실용적인 안드로이드 커스터마이징 절차 숙지 ◎ 빌드 플랫폼 구축, AOSP 소스 다운로드, 안드로이드 이미지 빌드 ◎ 안드로이드 컴포넌트, 아키텍처, 소스코드, 개발 툴 탐색 ◎ 안드로이드 특유의 커널 모듈 이해 ◎ 디바이스와 사용자를 보호하기 위한 안드로이드의 광범위한 보안 인프라 활용 ◎ 전원 인가부터 시스템 초기화까지, 안드로이드 부트 설명 ◎ 서브시스템 초기화 및 애플리케이션 프로세스를 제어하기 위한 Zygote 컨테이너 활용 ◎ 안드로이드 하드웨어 추상화 계층(HAL)을 통한 하드웨어 인터페이스 ◎ 자바 네이티브 인터페이스(JNI)를 통한 자바 프로그램에 대한 접근 ◎ 바인더화된 HAL(프로젝트 트레블)을 활용한 새로운 유연성 확보 ◎ 제조사 라이브러리를 기본 제공할 필요 없는 네이티브 C/C++ 혹은 자바 클라이언트 앱 구현 |