Android/Framework

AOSP 빌드 및 환경 설정

임베디드 친구 2025. 4. 17. 15:04
728x90
반응형

AOSP 빌드 및 환경 설정

1. 개요

Android Open Source Project(AOSP)는 안드로이드 운영체제의 소스 코드로, 누구나 다운로드하여 빌드 및 커스터마이징할 수 있습니다. 본 글에서는 AOSP 소스코드를 다운로드하고 빌드하는 과정, 그리고 빌드 후 생성된 시스템 이미지를 기기에 플래싱하는 방법을 설명합니다.


2. AOSP 빌드를 위한 환경 설정

AOSP를 빌드하기 위해서는 적절한 빌드 환경을 갖추어야 합니다. 공식적으로 지원되는 OS는 Ubuntu 및 Debian 계열이며, 최신 버전의 빌드를 위해서는 Ubuntu 20.04 또는 22.04를 권장합니다.

2.1 필수 패키지 설치

AOSP 빌드를 위해서는 여러 개발 도구가 필요합니다. 다음 명령어를 실행하여 필수 패키지를 설치할 수 있습니다.

sudo apt update && sudo apt upgrade -y
sudo apt install -y git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib \
    libc6-dev-i386 libncurses5 libncurses5-dev lib32ncurses5-dev x11proto-core-dev libx11-dev \
    lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip

추가적으로 Java Development Kit(JDK)를 설치해야 합니다. AOSP의 경우 OpenJDK 11을 권장합니다.

sudo apt install -y openjdk-11-jdk

설치가 완료되었으면, java -version을 실행하여 JDK가 정상적으로 설치되었는지 확인합니다.

java -version

2.2 Repo 도구 설치

AOSP 소스코드는 Git을 이용해 관리되며, 여러 저장소를 한 번에 관리하기 위해 Google에서는 repo라는 도구를 제공합니다. repo를 설치하려면 다음 명령어를 실행합니다.

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

이를 .bashrc 또는 .zshrc에 추가하여 환경 변수를 유지할 수 있습니다.

echo 'export PATH=~/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

3. AOSP 소스코드 다운로드 및 빌드

3.1 AOSP 소스코드 다운로드

AOSP 소스코드는 Google의 공식 저장소에서 다운로드할 수 있습니다. 다운로드할 AOSP 버전을 선택한 후 다음과 같이 repo 명령어를 사용하여 소스를 내려받습니다.

mkdir ~/aosp
cd ~/aosp
repo init -u https://android.googlesource.com/platform/manifest -b android-13.0.0_r41
repo sync -j$(nproc)

여기서 -b android-13.0.0_r41 부분은 특정 버전을 지정하는 부분이며, 필요에 따라 변경할 수 있습니다. repo sync 명령어는 모든 관련 저장소를 병렬로 동기화합니다.

3.2 AOSP 빌드 설정

AOSP를 빌드하려면 해당하는 디바이스에 맞는 환경을 설정해야 합니다. 다음 명령어를 실행하여 빌드를 준비합니다.

source build/envsetup.sh
lunch aosp_arm-eng

lunch 명령어에서 aosp_arm-eng 대신 실제 빌드할 대상 기기에 맞는 설정을 입력해야 합니다.

3.3 AOSP 빌드 실행

빌드 과정은 시간이 오래 걸리므로, 충분한 시스템 리소스가 확보되었는지 확인한 후 실행해야 합니다. 빌드를 수행하는 기본 명령어는 다음과 같습니다.

m -j$(nproc)

여기서 -j$(nproc)는 CPU 코어 수만큼 병렬로 빌드하는 옵션입니다. 빌드가 성공적으로 완료되면 out/ 디렉터리에 결과물이 생성됩니다.


4. 빌드 후 시스템 이미지 플래싱

AOSP 빌드가 완료되면 이를 실제 디바이스 또는 에뮬레이터에 플래싱하여 실행할 수 있습니다.

4.1 에뮬레이터에서 실행

AOSP 빌드 결과를 에뮬레이터에서 실행하려면 다음 명령어를 사용합니다.

emulator

이 명령어를 실행하면 에뮬레이터가 시작되며, 빌드한 AOSP 이미지가 부팅됩니다.

4.2 실제 기기에 플래싱

실제 기기에 AOSP 빌드 이미지를 플래싱하려면 fastboot를 사용해야 합니다. 먼저 기기를 fastboot 모드로 부팅한 후 다음 명령어를 실행합니다.

fastboot flashall -w

이 명령어는 시스템, 부트, 사용자 데이터 파티션을 모두 플래싱한 후 데이터를 초기화합니다. 기기에 따라 추가적인 명령어가 필요할 수도 있습니다.

플래싱이 완료되면 기기를 재부팅합니다.

fastboot reboot

5. 결론

본 글에서는 AOSP를 빌드하기 위한 환경을 설정하고, 소스코드를 다운로드 및 빌드하는 방법을 설명하였습니다. 또한 빌드된 이미지를 에뮬레이터 또는 실제 기기에 플래싱하는 과정도 다루었습니다. AOSP 빌드는 시간이 오래 걸리지만, 안드로이드의 내부 구조를 깊이 이해하는 데 중요한 과정이므로 직접 실습해보는 것을 추천합니다.

728x90
반응형

'Android > Framework' 카테고리의 다른 글

Android 디바이스 포팅  (0) 2025.04.20
AOSP 소스 코드 수정 및 커스텀 기능 추가  (0) 2025.04.19
System API 접근 및 확장  (0) 2025.04.16
Android의 주요 IPC 기법  (0) 2025.04.15
Application과 Framework의 관계  (0) 2025.04.14