본문 바로가기

Android

[Android] AOSP(Android Open Source Project)

안녕하세요. 메로나입니다.

 

오늘은 AOSP를 공부하겠습니다.

 

AOSP(Android Open Source Project)란?
  • 구글이 개발한 안드로이드 운영체제의 오픈 소스 버전
  • 누구나 안드로이드 소스 코드를 다운로드하고, 수정하고, 커스텀 버전을 만들 수 있음
AOSP 목적
  • 안드로이드 운영체제의 개방성 유지
  • OEM(제조사) 및 개발자들이 자유롭게 안드로이드를 수정할 수 있도록 제공
  • 스마트폰, 태블릿, 스마트 TV 등 다양한 디바이스에서 활용 가능
AOSP의 주요 구성 요소
  • Linux Kernel
    • 안드로이드는 리눅스 커널을 기반으로 동작
    • 커널은 디바이스 드라이버, 메모리 관리, 프로세스 관리 등의 기능을 수행
  • Native Libraries
    • Bionic libc: 안드로이드의 표준 C 라이브러리
    • SQLite: 데이터베이스 저장용
    • WebKit: 웹 브라우저 엔진
    • OpenGL ES -> 3D 그래픽 렌더링
  • Android Runtime(ART & Dalvik)
    • 안드로이드는 JAVA 기반 실행
    • JAVA 코드를 실행하기 위해 Android Runtime과 과거의 Dalvik VM을 사용
    • 최신 버전은 ART(Android Runtime)가 기본 실행 환경
  • Application Framework
    • Activity Manager: 앱의 생명주기 관리
    • Window Manage: UI 창 관리
    • Content Providers: 앱 간 데이터 공유
    • View System: UI 구성 요소
  • System App
    • AOSP에는 전환, 메시지, 연락처, 카메라, 브라우저 같은 기본적인 시스템 앱이 포함
    • 구글의 play store, gmail, google map 등은 AOSP에 포함되지 않음
AOSP 소스 코드 다운로드 및 빌드 방법
  • Git 기반으로 관리됨
  • 구글에서 공식적으로 소스 코드를 제공

1. 필요한 패키지 설치 (Ubuntu 기준)

sudo apt-get update
sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
  lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev \
  ccache libgl1-mesa-dev libxml2-utils xsltproc unzip

 

2. Repo 도구 다운로드 및 설정

mkdir ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH

 

3. AOSP 소스 다운로드

mkdir aosp
cd aosp
repo init -u https://android.googlesource.com/platform/manifest -b android-14.0.0_r1
repo sync -j4  # 병렬 다운로드 (속도 빠르게)

 

4. AOSP 빌드

source build/envsetup.sh
lunch aosp_arm-eng  # ARM 에뮬레이터 빌드 설정
make -j$(nproc)     # CPU 코어 개수만큼 병렬 빌드

 

참고 문헌

https://source.android.com/?hl=ko

 

Android 오픈소스 프로젝트  |  Android Open Source Project

Android는 세계를 하나로 묶어줍니다. 기기를 실행할 운영체제로 오픈소스 Android 운영체제를 사용하세요. 복사

source.android.com

https://source.android.com/docs/setup/download/downloading?hl=ko

 

소스 다운로드  |  Android 오픈소스 프로젝트  |  Android Open Source Project

소스 다운로드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 소스 트리는 Google에서 호스팅하는 Git 저장소에 있습니다. Git 저장소에는 소스 변경사항

source.android.com

 

간단하게 AOSP 맛보기로 공부해보았는데 직접 해보는 것이 가장 좋은 것 같다는 생각이 듭니다.

그럼 20000~