Android Gradle 플러그인 8.6.0 (2024년 8월)

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

호환성

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

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

해결된 문제

Android Gradle 플러그인 8.6.0

해결된 문제
Android Gradle 플러그인
AGP 7.0.0-alpha10 회귀: databinding이 사용 설정된 경우 플러그인 'com.android.internal.library'를 적용하지 못했습니다.
K2 UAST를 사용하거나 사용하지 않고 린트를 실행할 때 오류 발생
변형의 androidTest 구성에 매니페스트가 생성되지 않음
AGP 8.4에서 디버그 빌드에 시작 프로필을 설정하려고 함
[Koala 2024.1.2 Canary 2] 분할 APK에서 기준 프로필 모듈 실행 시 오류 발생
ProjectInfo 정리/삭제
AGP DSL에서 `isIncludeAndroidResources` 의 오래된 kdoc 업데이트
린트가 작업 종속 항목을 추가하지 않고 res 디렉터리를 사용함
AGP 8.5: 'mergeDebugResources' 작업이 훨씬 많이 실행되어 빌드 속도가 느려짐
변형 API를 통해 src 디렉터리를 추가해도 예상대로 작동하지 않음
Dexer(D8)
API 데이터베이스를 Android 15 (API 수준 35)로 업데이트
java.lang.VerifyError: 인증 도구에서 클래스 com.pax.log.LogUtils를 거부함: java.lang.StackTraceElement com.pax.log.LogUtils.getCaller(com.pax.log.b, java.lang.StackTraceElement[], int)의 인증에 실패함
린트
린트가 주석 처리된 주석의 사용을 위해 visitAnnotationUsage를 호출하지 않음
타입 사용 주석 사용 시 UnknownNullness 린트 오류
[라이브러리 디슈가링] 디슈가링이 사용 설정된 경우 린트에서 거짓양성 NewApi 경고를 표시함
Wear에서 인증 관리자 린트 경고가 잘못됨
린트: SetTextI18n이 빈 문자열 할당에 대해 불만을 제기합니다.
린트 통합
포함된 빌드로 인해 린트 작업이 실패함
축소기(R8)
[r8 8.5]r8 수평 클래스 병합으로 인해 API 모델링을 사용 중지하면 Android5에서 인증 오류가 발생함
Gradle 플러그인 8.4.0/8.5.0으로 빌드된 Wear OS 출시에서 java.lang.IllegalAccessError가 발생할 수 있음
R8은 빈 멤버 절을 () 일치로 암시적으로 대체합니다.
[r8 8.5] 런타임 NPE를 유발하는 수직 클래스 병합기
오른쪽 시프트 연산자로 인해 R8 처리 오류가 발생할 수 있음
R8 (AGP 8.5.0 이상)이 '항목이 예기치 않게 다시 작성됨: ... 두 개의 별개 항목으로:...' 오류와 함께 실패함
R8에서 생성된 dex 파일이 실행될 때 'Test'에서 정적 main(String[])을 찾을 수 없음이 표시됨
R8 및 D8로 패키징된 프로그램 간의 동작 차이
Kotlin 2.0으로 업데이트한 후 R8 NullPointer

Android Gradle 플러그인 8.6.1

해결된 문제
Dexer(D8)
덱싱 작업/변환이 비결정적 classes.dex 콘텐츠를 생성함
축소기(R8)
SimpleInliningConstraintAnalysis의 R8 8.5.x StackOverflowError
작업 :xxxx:minifyXXXReleaseWithR8 오류: R8: java.util.ConcurrentModificationException
java.lang.NullPointerException: Cannot invoke "com.android.tools.r8.ir.analysis.type.TypeElement.asClassType()"