- 안드로이드 앱
- 안드로이드 API를 이용하여 만든 앱
- 구글 플레이 스토어를 통해 설치 및 업데이트 가능
- 경우에 따라 제조사가 기기에 사전에 설치할 수 있음
- 권한 있는 앱
- 안드로이드와 시스템 API를 이용하여 만든 앱
- 특정 장치에 권한이 있는 앱
- 제조사에 의해 사전 설치 필요
- 기기 제조업체 앱
- 안드로이드와 시스템 API 및 프레임워크를 이용하여 만든 앱
- 제조사에 의해 프레임워크의 불안정한 API를 직접 사용 가능
- 제조사에 의해 사전 설치 필요
- 앱 업데이트는 시스템 소프트웨어 업데이트로 가능
- 안드로이드 API
- 모든 안드로이드 개발자가 공개적으로 사용할 수 있는 API
- 젯팩, 디바이스, 머터리얼 디자인, NDK, 게임 킷, 그래들 플러그인, 구글 플레이 등
- 시스템 API:
- 시스템 기능에 접근할 수 있는 API
- 안드로이드와 협업하는 일부 제조사에만 제공
- 앱을 구축하기 위해 사용되는 자바 클래스, 인터페이스 및 사전 컴파일된 코드
- 프레임워크 일부는 안드로이드 API를 통해 공개적으로 접근 가능
- 시스템 기능에 접근할 수 있는 API는 일부 제조사만 비공개적으로 접근 가능
- 프레임워크 코드는 앱 프로세스 내에서 실행
- 프레임워크는 하드웨어에 다양한 시스템 모듈을 통해 간접 접근
- 시스템 서버, 서피스 플링거, 미디어 서비스 등
- 안드로이드에서 제공하는 자바 실행 환경
- 자바 바이트코드를 기기에서 실행가능한 기계어로 변환 및 실행
- 하드웨어 공급업체가 구현해야하는 표준 인터페이스 추상화 계층
- 안드로이드가 하위 수준의 하드웨어 드라이버 구현에 대해 독립적으로 유지 가능
- 데몬과 라이브러리로 구성되어 있음
- HAL 구현에 의존하지 않고 커널 및 다른 인터페이스와 상호작용
- 운영체제의 핵심 부분으로 프로세스, 메모리, 파일, 네트워크 및 기타 하드웨어와 통신 담당
- 안드로이드 커널은 하드웨어에 의존하지 않는 모듈과 제조사별 모듈로 분할