Android Gradle 플러그인 8.3.0 (2024년 2월)

Android Gradle 플러그인 8.3.0은 다양한 새 기능과 개선사항이 포함된 메이저 버전입니다.

호환성

Android Gradle 플러그인 8.3이 지원하는 최대 API 수준은 API 수준 34입니다. 기타 호환성 정보는 다음과 같습니다.

최소 버전 기본 버전 Notes
Gradle 8.4 8.4 자세한 내용은 Gradle 업데이트하기를 참고하세요.
SDK 빌드 도구 34.0.0 34.0.0 SDK 빌드 도구를 설치 또는 구성합니다.
NDK 해당 사항 없음 25.1.8937393 다른 버전의 NDK를 설치 또는 구성합니다.
JDK 17 17 자세한 내용은 JDK 버전 설정을 참고하세요.

다음은 Android Gradle 플러그인 8.3의 새로운 기능입니다.

패치 출시

다음은 Android 스튜디오 Iguana 및 Android Gradle 플러그인 8.3의 패치 출시 목록입니다.

Android 스튜디오 Iguana | 2023.2.1 패치 2 및 AGP 8.3.2 (2024년 4월)

이번 소규모 업데이트는 이러한 버그 수정을 포함합니다.

Android 스튜디오 Iguana | 2023.2.1 패치 1 및 AGP 8.3.1 (2024년 3월)

이번 소규모 업데이트는 이러한 버그 수정을 포함합니다.

Gradle 버전 카탈로그 지원

Android 스튜디오는 TOML 기반의 Gradle 버전 카탈로그를 지원합니다. 이 기능을 사용하면 중앙에서 종속 항목을 관리하고 모듈 또는 프로젝트 간에 종속 항목을 공유할 수 있습니다. 이제 Android 스튜디오에서 편집기 제안 및 Project Structure 대화상자 통합을 통해 버전 카탈로그를 더 쉽게 구성할 수 있습니다. Gradle 버전 카탈로그를 설정 및 구성하는 방법 또는 버전 카탈로그로 빌드를 이전하는 방법을 알아보세요.

코드 완성 및 탐색

Android 스튜디오는 TOML 파일 형식의 버전 카탈로그를 수정하거나 버전 카탈로그의 종속 항목을 빌드 파일에 추가할 때 코드 완성 기능을 제공합니다. 코드 완성을 사용하려면 Ctrl+스페이스(macOS에서는 Command+스페이스)를 누릅니다. 또한 Ctrl+b(macOS에서는 Command+b)를 눌러 앱의 build.gradle 파일에 있는 종속 항목 참조에서 버전 카탈로그에서 선언된 위치로 빠르게 이동할 수 있습니다.

종속 항목 추가 시 코드 완성

Project Structure 대화상자 통합

프로젝트에서 TOML 파일 형식으로 정의된 버전 카탈로그를 사용하는 경우 Android 스튜디오의 Project Structure 대화상자 Variables 뷰 (File > Project Structure > Variables)를 통해 여기에 정의한 변수를 수정할 수 있습니다. 각 버전 카탈로그에는 해당 카탈로그의 변수를 나열하는 드롭다운이 있습니다. 변수를 수정하려면 값을 클릭하고 덮어씁니다. 이러한 변경사항을 저장하면 이에 따라 TOML 파일이 업데이트됩니다.

Project Structure 대화상자의 버전 카탈로그의 변수

Project Structure 대화상자의 Dependencies 뷰 (File > Project Structure > Dependencies)에서 종속 항목을 업데이트할 수도 있습니다. Project Structure 대화상자를 사용하여 버전을 업데이트하려면 수정할 모듈 및 종속 항목으로 이동한 후 Requested Version 필드를 업데이트합니다. 이러한 변경사항을 저장하면 이에 따라 TOML 파일이 업데이트됩니다. 종속 항목 버전이 변수를 사용하여 정의된 경우 이 방법으로 버전을 직접 업데이트하면 변수가 하드코딩된 값으로 대체됩니다. 또한 Project Structure 대화상자 사용 여부와 관계없이 빌드 파일에서 종속 항목을 삭제해도 버전 카탈로그에서 종속 항목이 삭제되지 않는다는 점에 유의하세요.

Project Structure 대화상자의 버전 카탈로그의 종속 항목

알려진 문제 및 제한사항

다음은 Android 스튜디오의 Gradle 버전 카탈로그 지원과 관련된 알려진 문제 또는 제한사항입니다.

  • Kotlin 스크립트 파일에서 플러그인 별칭 선언을 강조 표시하는 중에 오류가 발생했습니다. alias(libs.plugins.example) 형식의 플러그인 선언을 추가하면 편집기에서 libs 부분 아래에 빨간색 밑줄을 추가합니다. 이는 Gradle 버전 8.0 이하에서 알려진 문제이며 향후 Gradle 버전에서 해결될 예정입니다.

  • Android 스튜디오는 TOML 형식의 버전 카탈로그만 지원합니다. 현재 Android 스튜디오 코드 완성, 탐색 및 프로젝트 구조 대화상자 지원은 TOML 파일 형식으로 정의된 버전 카탈로그에만 사용할 수 있습니다. 그러나 여전히 settings.gradle 파일에 직접 버전 카탈로그를 추가하고 프로젝트에서 종속 항목을 사용할 수 있습니다.

  • KTS 빌드 파일 탐색은 지원되지 않음: Control+클릭(macOS에서는 Command+클릭)을 사용하여 버전 카탈로그에서 종속 항목 정의로 이동하는 기능은 아직 Kotlin 스크립트를 사용하여 작성된 빌드 파일에서 지원되지 않습니다.

  • Firebase Assistant는 빌드 스크립트에 종속 항목을 직접 추가합니다. Firebase Assistant는 버전 카탈로그를 통하지 않고 빌드 스크립트에 종속 항목을 직접 추가합니다.

  • '사용법 찾기' 기능은 지원되지 않음: 빌드 파일이 KTS에서든 Groovy에서든 다른 빌드 파일에서 버전 카탈로그 변수 사용을 찾는 기능은 아직 지원되지 않습니다. 즉, 버전 카탈로그의 변수 정의에 Control+클릭(macOS에서는 Command+클릭)을 사용해도 변수가 사용되는 빌드 파일로 연결되지 않습니다.

  • Android 스튜디오의 Project Structure 대화상자에는 루트 gradle 폴더에 있는 경우 여러 카탈로그 파일이 표시되지만 복합 빌드의 카탈로그는 표시되지 않습니다. 예를 들어 앱 및 복합 빌드용 카탈로그 파일이 두 개 있는 경우 프로젝트 구조 대화상자에는 앱 카탈로그 파일만 표시됩니다. 복합 빌드를 사용할 수도 있지만 해당 TOML 파일을 직접 수정해야 합니다.

추가 SDK 통계: 정책 문제

Android 스튜디오는 build.gradle.ktsbuild.gradle 파일과 Google Play SDK 색인에 Play 정책 위반이 있는 공개 SDK의 린트 경고를 Project Structure Dialog에 표시합니다. Play 정책을 위반하는 종속 항목은 향후 Google Play Console에 게시하지 못할 수 있으므로 업데이트해야 합니다. 정책 위반 경고는 Android 스튜디오에서 표시하는 오래된 버전 경고를 보완합니다.

Android 스튜디오 compileSdk 버전 지원

프로젝트가 현재 버전의 Android 스튜디오에서 지원하지 않는 compileSdk를 사용하면 Android 스튜디오에서 경고를 표시합니다. 가능한 경우 프로젝트에서 사용하는 compileSdk를 지원하는 버전의 Android 스튜디오로 이동하는 것이 좋습니다. Android 스튜디오를 업그레이드하려면 AGP도 업그레이드해야 할 수 있습니다. 또한 프로젝트에서 사용하는 compileSdk가 AGP의 현재 버전에서 지원되지 않으면 AGP는 Build 도구 창에 경고를 표시합니다.

린트 동작 변경사항

Android Gradle 플러그인 8.3.0-alpha02부터는 모듈에서 린트를 실행할 때 모듈의 기본 구성요소와 테스트 구성요소에 관해 별도의 린트 분석 작업이 실행됩니다. 이렇게 변경한 이유는 실적을 개선하기 위해서입니다. 이전 동작으로 되돌리려면 gradle.properties 파일에서 android.experimental.lint.analysisPerComponent=false를 설정합니다.

기본적으로 정확한 리소스 축소

resources.arsc 파일에서 사용되지 않는 항목을 삭제하고 사용되지 않는 리소스 파일을 제거하는 정밀한 리소스 축소가 기본적으로 사용 설정되어 있습니다. 이 축소를 사용 설정하면 리소스 테이블이 축소되고 참조된 res 폴더 항목만 APK에 포함됩니다.

정확한 리소스 축소를 사용 중지하려면 프로젝트의 gradle.properties 파일에서 android.enableNewResourceShrinker.preciseShrinkingfalse로 설정합니다.