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 빌드는 시간이 오래 걸리지만, 안드로이드의 내부 구조를 깊이 이해하는 데 중요한 과정이므로 직접 실습해보는 것을 추천합니다.
'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 |