Android Gradle 플러그인 8.9.0 (2025년 3월)

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

호환성

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

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

해결된 문제

Android Gradle 플러그인 8.9.2

해결된 문제
축소기 (R8)
AGP 8.9의 리소스 축소 문제로 인해 동적 기능 모듈에서 리소스가 누락됨
클래스 초기화의 안전한 캐스트에서 ClassCastException 발생
com.android.tools.r8.internal.H5.x()를 호출할 수 없음

Android Gradle 플러그인 8.9.1

해결된 문제
Dexer (D8)
Baklava의 android.os.Build.VERSION_CODES_FULL 백포팅이 잘못됨
축소기 (R8)
AGP 8.9.0으로 업데이트한 후 서명된 APK를 생성할 수 없음
할당 사이트에서 읽기 전 쓰기 속성 분석 시 클래스 파일 생성 중에 오류 발생
버전 8.6.*, 8.7.*, 8.8.0의 R8 축소기에서 Java SPI 관련 문제

Android Gradle 플러그인 8.9.0

해결된 문제
Android Gradle 플러그인
디스크 공간이 부족하여 GMD 설정 작업이 실패할 때 실행 가능한 오류 메시지 제공
com.android.settings 플러그인이 targetSdk를 인식하지 못함
도움이 되지 않는 오류 ''compileSdkVersion이 지정되지 않았습니다. build.gradle에 추가하세요."
빌드 메뉴에 '클린 빌드'가 없음
AGP의 기본 Kotlin 지원에서 Kotlin 표준 라이브러리 종속 항목을 자동으로 추가하도록 허용
기본 Kotlin 지원을 처리하도록 shouldConfigureKotlinPlatformAttribute 업데이트
`checkTestedAppObfuscationRelease`의 오류 메시지에 Kotlin Gradle 구문 제공
해결되지 않은 종속 항목을 개선할 수 있을 때 융합 라이브러리 오류 발생
gradle.properties의 시스템 속성이 별도의 프로세스에서 R8 Gradle 작업자에게 전달되지 않음
BuiltArtifact.outputFile을 파일 유형으로 만들기
융합 라이브러리에 네임스페이스를 제공하지 않으면 좋은 오류 메시지가 표시되지 않음
AGP 7.1.0-alpha08의 린트 옵션에서 stdout을 허용하지 않음
Android Gradle 플러그인: 변형은 소스 세트 이름을 노출해야 함
구성 캐시가 TERM 환경 변수 설정에 취약함
통계가 사용 설정된 경우 AndroidComponentsExtension.addSourceSetConfigurations가 중단됨
초기화 스크립트 'C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle' 줄: 162
통계가 사용 설정된 경우 AndroidComponentsExtension.addSourceSetConfigurations가 중단됨
Dexer (D8)
java.lang.VerifyError: 인증 도구에서 클래스를 거부함: [0x430] copy1 v2<-v264 type=Undefined cat=3
린트
린트 Gradle 검사로 인해 린트가 비정상 종료됨
린트 스택 트레이스에 예외 메시지가 없는 InstantiationException으로 인해 린트가 실패함
거짓양성 린트 검사 android.permission.SCHEDULE_EXACT_ALARM이 시스템 앱에만 부여됨
StringFormatInvalid 검사를 Compose stringResource 메서드에 적용해야 함
RequiresFeature 주석이 Kotlin 파일에서 작동하지 않음
Kotlin android.os.Handler removeCallbacks Runnable
시프트 기반 상수의 사용처가 아니라 정의에 WrongConstant 린트가 나타남
WrongConstant 린트가 두 번 표시됨
지원되지 않는 Java nio API(lint 오류 없음)를 사용하는 API 26 미만의 런타임 예외
린트로 인해 테스트의 비공개 도우미 메서드에서도 RequiresApi를 사용할 수 없음
Android 스튜디오에서 .hasRoute(Route::class)를 사용할 때 K2 모드에서 RestrictedApi 경고가 발생함
린트에서 테스트의 @RequiresExtension을 SDK 확장 프로그램을 지원하지 않는 @SdkSuppress로 바꾸라고 제안함
fitSystemWindows와 함께 사용되는 FrameLayout이 맞춤 패딩이 필요한 하위 RelativeLayout을 래핑할 때 린트에서 불필요한 중첩 레이아웃을 잘못 보고함
CoarseFineLocation 린트 규칙에서 maxSdkVersion 속성을 고려하지 않음
AppLinkSplitToWebAndCustom이 린트 8.7.3에서 UnknownIssue임
린트 검사 StringEscapeDetector가 "\\ "에서 비정상 종료됨
봉인 인터페이스의 `@Parcelize` 주석에 관한 잘못된 린트 경고
Kotlin 텍스트를 수정할 때 AS 2024.3.1.4가 간헐적으로 정지됨
린트 통합
App Bundle을 빌드할 때 lintVitalRelease가 자동으로 실행되지 않음
축소기 (R8)
AGP 8.8로 업그레이드한 후 Gson ProGuard가 제대로 작동하지 않음
java.lang.VerifyError: 인증 도구에서 클래스를 거부함
AGP 8.10.0-alpha04에 포함된 R8로 축소하면 Leanback이 비정상 종료됨