반응형

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/ 경로와 관련된 경로 변경이 있을 수 있으므로, 이에 맞추어 경로를 명확하게 설정해야 한다.

 

 

반응형
블로그 이미지

SKY STORY

,