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' 작업이 더 많이 실행되어 빌드 속도가 느려짐
Variant API를 통해 srcs 디렉터리를 추가해도 예상대로 작동하지 않음
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]API 모델링을 사용 중지하면 R8 수평 클래스 병합으로 인해 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에서 static 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 ERROR: R8: java.util.ConcurrentModificationException
java.lang.NullPointerException: 'com.android.tools.r8.ir.analysis.type.TypeElement.asClassType()'을 호출할 수 없음