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을 사용하여 lint를 실행할 때 LintError가 있으면 lint 분석 작업에서 예외가 발생합니다. 이 변경사항은 드물게 발생하는 오류가 빌드 캐시에 캐시되지 않도록 합니다.

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

해결된 문제

Android Gradle 플러그인 8.7.0

해결된 문제
Android Gradle 플러그인
AGP는 곧 출시될 API 35를 지원한다고 주장해야 함
AGP 8.5: 'mergeDebugResources' 작업이 훨씬 많이 실행되어 빌드 속도가 느려짐
ndk 27을 AGP의 기본 NDK로 설정
AGP는 곧 출시될 API 35를 지원한다고 주장해야 함
AGP는 곧 출시될 API 35를 지원한다고 주장해야 함
NoSuchFileException으로 인해 Android lint 실행이 실패함
BuildType#initWith가 후처리 블록을 복사하지만 ProGuard 구성이 적용되지 않음
foregroundServiceType 태그는 병합할 수 없음
NoSuchFileException으로 인해 Android lint 실행이 실패함
린트
린트에서 ViewGroup으로 사용되는 잘못된 객체를 확인해야 함
호스트가 null인 URI에 'android:host가 누락됨'
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 lint 실패
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은 시스템 앱에만 부여됩니다.