플랫폼용 Android 스튜디오 (ASfP)의 프로젝트에는 소스 코드 및 애셋에서 테스트 코드와 빌드 구성에 이르기까지 AOSP 코드베이스를 위한 작업공간을 정의하는 모든 항목이 포함됩니다.
새 프로젝트를 시작하면 ASfP에서 모든 파일에 필요한 구조를 생성하고 이를 Project 창에 표시합니다. 창을 열려면 View > Tool Windows > Project를 선택합니다.
이 페이지에서는 프로젝트 구성에 포함된 주요 구성요소를 간략하게 설명합니다.
프로젝트 구성 (.asfp-project
)
ASfP 프로젝트 구성은 프로젝트 디렉터리의 루트에 있는 .asfp-project
파일로 제어됩니다. 이 YAML 파일은 프로젝트에 포함되는 항목과 중요 기능의 작동 방식을 제어하는 데 필수적입니다. ASfP > Project > Open Config를 사용하여 기본 메뉴를 통해 열거나 프로젝트 뷰에서 찾을 수 있습니다.
프로젝트가 생성되면 사용자가 제공한 사양을 기반으로 구성이 구성됩니다. 구성의 모든 매개변수는 언제든지 수정하여 프로젝트 사양을 수정할 수 있습니다(예: 프로젝트 디렉터리 또는 모듈 업데이트). 변경사항이 반영되려면 동기화가 필요합니다.
구성 매개변수
.asfp-project
파일에서 구성할 수 있는 주요 매개변수는 다음과 같습니다.
repo
필수 항목
Android 플랫폼 저장소 루트의 절대 경로입니다.
repo: /path/to/aosp
lunch
필수 항목
프로젝트와 결합될 런치 타겟입니다. 동기화 및 관련 실행 구성을 비롯한 모든 Soong 빌드 작업에 사용됩니다.
lunch: your-product-variant-userdebug
directories
선택사항
프로젝트에 포함하거나 제외할 디렉터리입니다. repo
루트를 기준으로 하는 상대 경로여야 합니다.
directories:
include:
- frameworks/base
- packages/apps/Settings
exclude:
- vendor
- out/soong
modules
선택사항
프로젝트에 포함하거나 프로젝트에서 제외할 모듈입니다. 이러한 속성은 이전에 지정된 directories
와 함께 작동합니다. 전체 이름과 약식 이름이 모두 지원됩니다.
modules:
include:
- SystemUIGoogle
- frameworks/base/services/core/java:services
exclude:
- UnusedModule
test_sources
선택사항
ASfP는 프로덕션 소스와 테스트 소스를 구분하려고 하지만 경우에 따라 테스트 소스를 명시적으로 표시해야 할 수도 있습니다. repo
루트를 기준으로 한 상대 경로로 제공합니다. 지정된 경로의 하위 디렉터리인 소스 루트는 테스트로 표시됩니다.
test_sources:
- cts/tests/tests/example
- tests/mytests
other_languages
선택사항
Java 지원은 기본적으로 포함되어 있습니다. 다른 언어에 대한 지원을 추가할 수 있습니다.
ASfP는 C/C++ (cpp
) 및 Rust (rust
)도 지원합니다.
other_languages:
- cpp
- rust
build_config
선택사항
이 매개변수를 사용하면 Soong 빌드 이벤트에 맞춤 플래그나 환경 변수를 추가할 수 있습니다. 이 구성은 동기화 및 실행 구성을 비롯하여 Soong 빌드를 생성하는 IDE의 모든 작업에 적용됩니다.
build_config:
flags:
- -j64
env:
SOONG_ALLOW_MISSING_DEPENDENCIES: true
MY_CUSTOM_VAR: value