반응형
Android Gradle Plugin (AGP) 8.0 이상에서는 여러 가지 변화와 최적화가 이루어졌다. 이를 통해 성능 개선과 더불어 최신 Android SDK 및 Gradle 기능들을 더 잘 지원하게 되었다. Target SDK 34와 호환되며, 최적화되어 있다. Jetpack 및 라이브러리 호환성이 뛰어나며, 최신 Gradle 버전과 통합을 통해 Build 성능이 최적화 되었다. 아래는 AGP 8.0 이상에서 주목해야 할 주요 변경 사항들을 정리해 보았다.
1. compileSdkVersion 및 targetSdkVersion 변경
- 이전: compileSdkVersion과 targetSdkVersion을 사용하여 SDK 버전을 설정.
- AGP 8.0 이상: compileSdk와 targetSdk로 변경되었다.
android {
compileSdk = 34
targetSdk = 34
}
2. minSdkVersion 변경
- 이전: minSdkVersion을 사용하여 최소 SDK 버전을 설정.
- AGP 8.0 이상: minSdk로 변경되었다.
android {
minSdk = 21
}
3. buildToolsVersion 자동 관리
- 이전: buildToolsVersion을 명시적으로 설정.
- AGP 8.0 이상: Gradle이 자동으로 적절한 buildTools 버전을 선택하므로 buildToolsVersion을 삭제해도 된다.
4. tasks.register 방식 사용 권장
- 이전: 태스크를 정의할 때 task를 사용.
- AGP 8.0 이상: 'tasks.register' 를 사용하는 것이 권장됨. 이는 Gradle의 lazy configuration 방식을 따르기 때문에 빌드 성능이 향상된다.
tasks.register('clean', Delete) {
delete rootProject.buildDir
}
5. lintOptions에서 lint로 변경
- 이전: lintOptions 블록을 사용하여 린트 관련 설정을 구성.
- AGP 8.0 이상: lint 블록으로 변경되었다.
android {
lint {
checkDependencies true
}
}
6. Kotlin과 Java 플러그인 적용
- 이전: apply plugin 방식으로 플러그인을 적용.
- AGP 8.0 이상: plugins {} 블록을 사용하는 것이 권장됨. apply plugin 방식도 여전히 작동하지만, 최신 방식으로는 plugins {} 블록을 사용하는 것이 더 명확하고 관리하기 쉽다.
plugins {
id 'com.android.application'
id 'kotlin-android'
}
7. annotationProcessor 대신 kapt 사용
- 이전: annotationProcessor를 사용하여 Annotations 프로세싱.
- AGP 8.0 이상: Kotlin 프로젝트에서는 kapt를 사용하는 것이 권장된다.
dependencies {
kapt 'androidx.lifecycle:lifecycle-compiler:2.3.1'
}
8. compile 의존성 구성 제거
- 이전: compile 키워드로 의존성을 선언.
- AGP 7.0 이상: compile은 더 이상 사용되지 않고 implementation, api, 'compileOnly' 로 대체되었다.
dependencies {
implementation "androidx.core:core-ktx:1.6.0"
}
9. Java 8+ 기능 사용 권장
- 이전: 프로젝트에서 Java 8 이상의 기능을 사용할 때 명시적으로 설정해야 했다.
- AGP 8.0 이상: Java 8 이상의 기능을 사용하는 것이 기본적으로 지원됨. 추가 설정 없이 최신 Java 기능을 사용할 수 있다.
10. Jetpack Compose가 기본적으로 지원됨
- 이전: Jetpack Compose를 사용하기 위해 여러 설정이 필요했다.
- AGP 8.0 이상: Jetpack Compose가 기본적으로 지원되며, 설정이 더 간단해졌다.
android {
composeOptions {
kotlinCompilerExtensionVersion '1.5.1'
}
}
11. sourceSets 블록의 경로 변경
- 이전: sourceSets 블록에서 경로 설정이 달랐다.
- AGP 8.0 이상: src/main/ 경로와 관련된 경로 변경이 있을 수 있으므로, 이에 맞추어 경로를 명확하게 설정해야 한다.
반응형
'개발 > Android' 카테고리의 다른 글
Android앱에 Firebase 추가시 디버그 서명 인증서 SHA-1 등록 (0) | 2024.10.14 |
---|---|
앱서명 설정 및 서명된 APK파일 생성 (0) | 2024.10.14 |
Android 13(QPR) 및 14(API 34)에서 적용된 새로운 보안 정책 및 기능 변경과 주의 사항 (0) | 2024.10.04 |
Gradle 8.0 이상 주요 변경사항 (1) | 2024.10.04 |
AAR 라이브러리 사용 (0) | 2024.06.05 |