Android Gradle 플러그인 8.7.0 (2024년 10월)

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

호환성

Android Gradle 플러그인 8.7에서 지원하는 최대 API 수준은 API 수준 35입니다. 다음은 다른 호환성 정보입니다.

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

린트 동작 변경사항

Android Gradle 플러그인 8.7.0-alpha08부터 Gradle을 사용하여 린트를 실행할 때 LintError가 있으면 린트 분석 작업에서 예외가 발생합니다. 이 변경사항을 통해 드물게 발생하는 오류가 빌드 캐시에 캐시되는 것을 방지할 수 있습니다.

안타깝게도 이 변경사항으로 인해 린트 기준 파일에 실제 LintError 인스턴스가 있는 프로젝트의 빌드가 중단됩니다. 오류 메시지에는 문제를 일으키는 린트 검사에 관한 정보가 포함됩니다. 경우에 따라 해당 라이브러리 종속 항목을 업데이트하면 문제가 해결될 수 있습니다. 그렇지 않은 경우 라이브러리 작성자가 문제를 해결할 때까지 문제가 있는 린트 검사를 사용 중지할 수 있습니다.

해결된 문제

Android Gradle 플러그인 8.7.0

해결된 문제
Android Gradle 플러그인
AGP는 제공될 API 35를 지원한다고 선언해야 합니다.
AGP 8.5: 'mergeDebugResources' 작업이 더 많이 실행되어 빌드 속도가 느려짐
AGP에서 ndk 27을 기본 NDK로 설정합니다.
AGP는 제공될 API 35를 지원한다고 선언해야 합니다.
AGP는 제공될 API 35를 지원한다고 선언해야 합니다.
NoSuchFileException으로 Android 린트 실행 실패
BuildType#initWith가 후처리 블록을 복사하지만 proguard 구성이 적용되지 않음
foregroundServiceType 태그를 병합할 수 없음
NoSuchFileException으로 Android 린트 실행 실패
린트
린트가 ViewGroup으로 사용되는 잘못된 객체를 확인해야 함
호스트가 null인 URI에 'android:host is missing' 오류가 표시됨
8.7.0-alpha04에서 도입된 린트 검사와의 KtAnalysisSessionProvider 비호환성
Kotlin과 함께 PackageManager.ResolveInfoFlags.of를 사용할 때 WrongConstant '거짓양성'

Android Gradle 플러그인 8.7.1

해결된 문제
Android Gradle 플러그인
agp 문서에 TBD가 많음
린트
AGP 8.6.1: 회귀 - Kotlin의 @LongDef 내부에서 [Int].toLong()을 사용할 때 WrongConstant 린트 실패
http 또는 https 인텐트 필터 스키마를 설정할 때 '호스트를 하나 이상 지정해야 합니다' 린트 오류가 발생함

Android Gradle 플러그인 8.7.2

해결된 문제
린트
AGP 8.7.0 - NavOptionsBuilder.popUpTo의 RestrictedApi에 린트 거짓양성
축소기(R8)
[R8 8.6.27] 메서드 구현이 'throw null'로 대체됨
현재 버전의 R8과 함께 사용할 때 기본 Android ProGuard 파일에서 경고가 발생함
메시지가 너무 긴 경우 MissingStartupProfileItemsDiagnostic가 메모리 부족 오류와 함께 Gradle 클라이언트를 비정상 종료함

Android Gradle 플러그인 8.7.3

해결된 문제
린트
린트를 실행할 때 누락된 분석 API 메서드 경고가 많음
android.permission.SCHEDULE_EXACT_ALARM이 시스템 앱에만 부여된다는 거짓양성 린트 검사