반응형
build.gradle
파일의 dependencies
섹션에서 사용할 수 있는 키워드는 안드로이드 빌드 시스템에서 의존성을 정의하는 데 사용됩니다. 이 키워드는 의존성의 유형, 버전, 소스 등을 지정합니다. 주요 키워드는 다음과 같습니다:
1. 의존성 유형
- implementation: 모듈이 이 의존성을 사용하지만, 의존성이 이 모듈을 사용하는 다른 모듈에는 전파되지 않습니다.
- api: 이 의존성이 이 모듈을 사용하는 모든 모듈에 전파됩니다.
- compileOnly: 컴파일 시에만 필요하고, 런타임에는 포함되지 않습니다.
- runtimeOnly: 런타임에만 필요하고, 컴파일 시에는 포함되지 않습니다.
- testImplementation: 테스트 코드를 위해 사용되는 의존성입니다.
- testCompile: 테스트 코드에 필요한 컴파일 의존성 (Gradle 5.0 이전).
- testRuntime: 테스트 실행에 필요한 런타임 의존성 (Gradle 5.0 이전).
- testCompileOnly: 테스트 컴파일 시에만 필요하고, 테스트 런타임에는 포함되지 않습니다.
- androidTestImplementation: 안드로이드 테스트 코드에 사용되는 의존성입니다.
- androidTestCompile: 안드로이드 테스트 코드에 필요한 컴파일 의존성 (Gradle 5.0 이전).
- androidTestRuntime: 안드로이드 테스트 코드 실행에 필요한 런타임 의존성 (Gradle 5.0 이전).
- androidTestCompileOnly: 안드로이드 테스트 컴파일 시에만 필요하고, 테스트 런타임에는 포함되지 않습니다.
- annotationProcessor: 주석 처리기 의존성입니다.
- kapt: Kotlin용 주석 처리기 의존성입니다.
- apiElements: 모듈의 API 요소를 정의하는 의존성.
- runtimeElements: 모듈의 런타임 요소를 정의하는 의존성.
- compileClasspath: 컴파일 시 클래스 경로에 추가될 의존성.
- runtimeClasspath: 런타임 시 클래스 경로에 추가될 의존성.
2. 의존성 소스
- project: 프로젝트의 하위 모듈을 참조할 때 사용합니다.
- file: 특정 파일을 의존성으로 추가할 때 사용합니다.
- files: 여러 파일을 의존성으로 추가할 때 사용합니다.
- fileTree: 디렉토리 내의 파일을 의존성으로 추가할 때 사용합니다.
- classpath: 빌드 스크립트의 클래스 경로를 설정할 때 사용합니다.
- platform: 의존성 버전을 정의하는 플랫폼을 지정합니다.
- enforcedPlatform: 의존성 버전을 강제하는 플랫폼을 지정합니다.
3. 기타 키워드
- exclude: 특정 의존성을 제외할 때 사용합니다.
- force: 특정 버전의 의존성을 강제할 때 사용합니다.
- transitive: 의존성의 전이성을 지정합니다.
- changing: 변경될 수 있는 의존성(스냅샷 버전 등)을 지정할 때 사용합니다.
- ext: 추가적인 확장을 정의할 때 사용합니다.
이 키워드들을 조합하여 안드로이드 빌드 시스템에서 다양한 의존성을 효율적으로 관리할 수 있습니다.
예시
dependencies {
implementation 'com.android.support:appcompat-v7:28.0.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
kapt 'com.google.dagger:dagger-compiler:2.28'
api project(':mylibrary')
implementation files('libs/mylib.jar')
runtimeOnly fileTree(dir: 'libs', include: ['*.jar'])
}
각각의 키워드와 그 사용 예제는 프로젝트 요구 사항에 따라 조정할 수 있습니다.
반응형
'android > Project' 카테고리의 다른 글
[ Android ] APK 분석하기 (0) | 2024.07.31 |
---|---|
Android 란? 2편 (0) | 2018.10.03 |
Android 란? 1편 (0) | 2018.10.03 |