Project ES/: : AAOS

.bp (BluePrint)

Jay.P Morgan 2026. 2. 20. 09:18

 

 

Android 빌드 시스템에서 Android.bp 파일의 확장자인 **.bp**는 Blueprint(청사진)의 약자입니다.

이 파일은 안드로이드의 차세대 빌드 시스템인 **Soong(숭)**에서 사용되는 설정 파일입니다. 과거에 사용하던 Android.mk(Makefile 기반)를 대체하기 위해 도입되었습니다.


## Android.bp의 주요 특징

  • 선언적 구조 (Declarative): "어떻게(How)" 빌드할지 복잡한 로직을 쓰는 게 아니라, "무엇을(What)" 빌드할지 정의합니다. JSON과 유사한 간단한 문법을 사용하여 가독성이 높습니다.
  • 빠른 속도: 복잡한 조건문이나 함수 호출을 제한하여, 빌드 시스템이 파일을 해석하는 속도가 매우 빠릅니다.
  • Soong 빌드 시스템: Android.bp 파일은 Blueprint라는 도구에 의해 해석되어 ninja 빌드 파일로 변환되고, 최종적으로 실제 빌드가 수행됩니다.

## 간단한 예시

Android.bp 파일은 보통 아래와 같은 형태를 가집니다.

코드 스니펫
 
cc_binary {
    name: "hello_world",
    srcs: ["main.cpp"],
    shared_libs: ["liblog"],
}

위 설정은 "main.cpp를 컴파일해서 'hello_world'라는 실행 파일을 만들고, liblog 라이브러리를 사용해라"라는 의미입니다.


## 왜 .bp를 사용하나요?

기존의 Android.mk는 기능은 강력했지만, 프로젝트 규모가 커질수록 코드가 스파게티처럼 꼬이고 빌드 속도가 느려지는 단점이 있었습니다. .bp는 이를 해결하고 더 단순하고, 명확하고, 빠른 빌드를 가능하게 합니다.

 

'Project ES > : : AAOS' 카테고리의 다른 글

자동차 서비스 기능 제어  (0) 2026.03.23
VPU_Wrapper  (0) 2026.02.20
[AAOS Audio] 오디오 포커스  (0) 2026.02.09
[AAOS Audio] Intro  (0) 2026.02.09
AOSP 빌드 불필요 파일 정리 옵션  (0) 2026.02.05