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.0

해결된 문제
Android Gradle 플러그인
디스크 공간이 부족하여 GMD 설정 작업이 실패할 때 실행 가능한 오류 메시지 제공
com.android.settings 플러그인이 targetSdk를 인식하지 못함
도움이 되지 않는 오류 ''compileSdkVersion이 지정되지 않았습니다. build.gradle에 추가해 줘'라고 말하는 경우
빌드 메뉴에 '클린 빌드'가 누락됨
AGP의 내장 Kotlin 지원이 kotlin stdlib 종속 항목을 자동으로 추가하도록 허용
내장 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: Verifier rejected class: [0x430] copy1 v2<-v264 type=Undefined cat=3
린트
Lint Gradle 검사로 인해 Lint가 비정상 종료됨
린트가 InstantiationException으로 실패하고 린트 스택 트레이스에 예외 메시지가 없음
거짓양성 린트 검사 android.permission.SCHEDULE_EXACT_ALARM은 시스템 앱에만 부여됩니다.
StringFormatInvalid 검사를 Compose stringResource 메서드에 적용해야 함
Kotlin 파일에서 RequiresFeature 주석이 작동하지 않음
kotlin android.os.Handler removeCallbacks Runnable
시프트를 사용하여 상수를 사용하는 대신 정의에 WrongConstant 린트
WrongConstant 린트가 두 번 표시됨
지원되지 않는 Java nio API (lint 오류 없음)를 사용하는 API 26 미만의 런타임 예외
테스트의 비공개 도우미 메서드에서도 RequiresApi 사용을 방지하는 린트
Android 스튜디오에서 .hasRoute(Route::class)를 사용하면 K2 모드에서 RestrictedApi 경고가 발생함
린트에서 테스트의 @RequiresExtension을 SDK 확장 프로그램을 지원하지 않는 @SdkSuppress로 대체하도록 제안함
맞춤 패딩이 필요한 하위 RelativeLayout을 래핑하기 위해 fitSystemWindows와 함께 FrameLayout을 사용하는 경우 린트에서 불필요한 중첩 레이아웃을 잘못 보고합니다.
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이 비정상 종료됨

Android Gradle 플러그인 8.9.1

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

Android Gradle 플러그인 8.9.2

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