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: 인증 도구에서 클래스를 거부함: [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
shift를 사용한 상수 사용 대신 정의에 WrongConstant 린트가 표시됨
WrongConstant 린트가 두 번 표시됨
지원되지 않는 Java nio API가 포함된 API 26 미만의 런타임 예외 (린트 오류 없음)
린트가 테스트의 비공개 도우미 메서드에서도 RequiresApi 사용을 방지함
Android 스튜디오에서 .hasRoute(Route::class)를 사용할 때 K2 모드에서 RestrictedApi 경고가 발생함
린트가 테스트의 @RequiresExtension을 SDK 확장 프로그램을 지원하지 않는 @SdkSuppress로 대체하도록 제안함
맞춤 패딩이 필요한 하위 RelativeLayout을 래핑하기 위해 fitSystemWindows와 함께 사용된 FrameLayout이 있으면 린트에서 불필요한 중첩 레이아웃을 잘못 보고합니다.
CoarseFineLocation 린트 규칙이 maxSdkVersion 속성을 고려하지 않음
린트 8.7.3에서 AppLinkSplitToWebAndCustom이 UnknownIssue임
'\\'에서 린트 검사 StringEscapeDetector 비정상 종료
봉인된 인터페이스의 `@Parcelize` 주석에 관한 잘못된 린트 경고
AS 2024.3.1.4가 Kotlin 텍스트를 수정할 때 간헐적으로 중단됩니다.
린트 통합
앱 번들을 빌드할 때 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()를 호출할 수 없음