Google은 AI 기술을 사용하여 콘텐츠를 사용자의 기본 언어로 번역합니다. AI 번역에는 오류가 있을 수 있습니다.
Android Gradle 플러그인 9.3.0 (2026년 7월)
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Android Gradle 플러그인 9.3은 다양한 새 기능과 개선사항이 포함된 마이너 버전입니다.
호환성
Android Gradle 플러그인 9.3에서 지원하는 최대 API 수준은 API 수준 37입니다.
다음은 기타 호환성 정보입니다.
|
최소 버전 |
기본 버전 |
참고 |
| Gradle |
9.5.0 |
9.5.0 |
자세한 내용은 Gradle 업데이트하기를 참고하세요. |
| SDK 빌드 도구 |
36.0.0 |
36.0.0 |
SDK 빌드 도구를 설치 또는 구성합니다. |
| NDK |
해당 사항 없음 |
28.2.13676358 |
다른 버전의 NDK를 설치 또는 구성합니다. |
| JDK |
17 |
17 |
자세한 내용은 JDK 버전 설정을 참고하세요. |
독립형 R8 구성 분석기 Gradle 작업
Android Gradle 플러그인 9.3에서는 R8 구성 분석기를 격리된 상태로 실행하기 위한 전용 Gradle 작업을 도입합니다. R8 구성 분석기는 앱의 코드 축소 및 난독화 규칙을 최적화하는 데 도움이 됩니다.
./gradlew :app:analyzeReleaseR8Config
:app:analyzeReleaseR8Config 작업은 APK 또는 번들 컴파일 파이프라인을 완료하지 않고 보고서를 생성합니다. 이렇게 하면 피드백 루프가 단축되어 보관 규칙을 개선할 때 개발자 반복이 빨라집니다. 또는 R8 출시 빌드 (예: assembleRelease 또는 bundleRelease)를 실행하여 보고서를 자동으로 생성할 수 있습니다.
자세한 내용은 보고서 생성을 위한 독립형 Gradle 작업 실행을 참고하세요.
해결된 문제
Android Gradle 플러그인 9.3.3
| 해결된 문제 |
| Android Gradle 플러그인 |
|
AGP 9.3.0의 새로운 최적화 { enable = true } DSL이 ApplicationVariant 객체에서 isMinifyEnabled를 설정하지 않음
|
|
| Dexer(D8) |
|
D8 9.2.14는 동일한 입력/출력에서 `mergeProjectDexDebug` 가 8.13.6보다 약 38% 느립니다.
|
|
| 축소기(R8) |
|
D8 디버그 모드: ArrayIndexOutOfBoundsException: 색인 -1이 길이 31의 범위를 벗어남 - R8 8.8.34와 8.9.27 사이의 회귀
|
|
VerifyError: 아웃라인이 try-catch 영역을 잘못 확장하여 초기화되지 않은 레지스터가 발생함
|
|
R8이 이름에 콜론이 있는 `.kotlin_module` 파일을 작성하여 Windows에서 유효하지 않은 파일 이름이 생성됨
|
|
R8 빌드 비결정성: 동일한 입력에서 다른 dex/매핑이 생성됨('LIR에서 가정 명령 유지'에서 회귀)
|
|
R8 9.1로 매핑 중복
|
|
AGP가 검증에 실패하고 실행 시 앱이 비정상 종료되는 dex 파일을 간헐적으로 생성함
|
|
NullPointerException: entryPosition이 null이므로 Position.getOutermostCaller()를 호출할 수 없음
|
|
규칙당 메모리 소비량이 많음
|
|
R8: Android 4.4에서 VerifyError 발생
|
|
Android Gradle 플러그인 9.3.2
| 해결된 문제 |
| 린트 |
|
JDK 17에서 AGP 9.3 lint가 비정상 종료됨 — 번들로 제공되는 intellij-core JavaDocParser의 NoSuchMethodError: java.util.List.removeLast()
|
|
Android Gradle 플러그인 9.3.1
| 해결된 문제 |
|
AGP 9.3.1에서 해결됨으로 표시된 공개 문제가 없음
|
Android Gradle 플러그인 9.3.0-rc02
| 해결된 문제 |
|
AGP 9.3.0-rc02에서 해결됨으로 표시된 공개 문제가 없음
|
Android Gradle 플러그인 9.3.0-rc01
| 해결된 문제 |
|
AGP 9.3.0-rc01에서 해결됨으로 표시된 공개 문제가 없음
|
Android Gradle 플러그인 9.3.0-alpha12
| 해결된 문제 |
| Android Gradle 플러그인 |
|
빌드 실패: compile_library_classes_jar의 classes.jar에서 파일 핸들 누수가 발생하여 IDE를 다시 시작할 때까지 Windows에서 다시 빌드할 수 없음
|
|
| 린트 |
|
Lint가 가져온 Java 라이브러리를 Android 프로젝트로 취급하여 컴파일 SDK 버전을 무시함
|
|
Android Gradle 플러그인 9.3.0-alpha11
| 해결된 문제 |
|
AGP 9.3.0-alpha11에서 해결됨으로 표시된 공개 문제가 없음
|
Android Gradle 플러그인 9.3.0-alpha10
| 해결된 문제 |
|
AGP 9.3.0-alpha10에서 해결된 것으로 표시된 공개 문제가 없음
|
Android Gradle 플러그인 9.3.0-alpha09
| 해결된 문제 |
|
AGP 9.3.0-alpha09에서 해결된 것으로 표시된 공개 문제가 없음
|
Android Gradle 플러그인 9.3.0-alpha08
| 해결된 문제 |
|
AGP 9.3.0-alpha08에서 해결된 것으로 표시된 공개 문제가 없음
|
Android Gradle 플러그인 9.3.0-alpha07
| 해결된 문제 |
|
AGP 9.3.0-alpha07에서 해결됨으로 표시된 공개 문제가 없음
|
Android Gradle 플러그인 9.3.0-alpha06
| 해결된 문제 |
| Android Gradle 플러그인 |
|
JavaDocGenerationTask는 작업자를 사용해야 함
|
|
Android Gradle 플러그인 9.3.0-alpha05
| 해결된 문제 |
| 축소기(R8) |
|
L8 난독화 매핑이 앱 mapping.txt에 포함되지 않음
|
|
Android Gradle 플러그인 9.3.0-alpha04
| 해결된 문제 |
| Android Gradle 플러그인 |
|
consumerKeepRules.publish = true가 없으면 KMP keepRules 소스 세트가 무시됨
|
|
Android Gradle 플러그인 9.3.0-alpha03
| 해결된 문제 |
| Android Gradle 플러그인 |
|
gradle을 9.2.0으로 업그레이드한 후 java.lang.ClassNotFoundException: 'com.android.tools.r8.RecordTag' 클래스를 찾을 수 없음
|
|
| 린트 |
|
Android Gradle 플러그인 9.3.0-alpha02
| 해결된 문제 |
| Android Gradle 플러그인 |
|
기능 요청: Android Gradle 플러그인에 native_libs_merge_blame_file 지원 추가
|
|
| 린트 |
|
AnnotationDetector 문제 메시지에 백틱이 누락됨
|
|
리소스 축소가 사용 중지된 경우 린트 오류
|
|
Android Gradle 플러그인 9.3.0-alpha01
| 해결된 문제 |
| Android Gradle 플러그인 |
|
자동 생성된 버전 코드 문제
|
|
AGP: 프로젝트를 종속 항목 표기법으로 사용하지 않도록 이전
|
|
| 린트 |
|
Android Gradle 플러그인 9.3.0
| 해결된 문제 |
|
AGP 9.3.0에서 해결된 것으로 표시된 공개 문제가 없음
|
R8 유지 규칙을 구성하도록 최적화 DSL 업데이트
앱 모듈 및 라이브러리 모듈 테스트에서 지원하는 R8 최적화의 유지 규칙을 구성하기 위해 업데이트된 최적화 DSL을 도입합니다. 업데이트된 DSL로 최적화를 구성하려면 새 optimization 블록을 사용하세요. 앱의 경우 앱 수준 빌드 스크립트에서 빌드 유형 (예: release 또는 debug) 내에 optimization 블록을 구성합니다. 업데이트된 최적화 DSL을 사용하면 R8 구성이 더 간단해집니다.
- 최적화를 사용 설정하면 코드 최적화와 최적화된 리소스 축소가 모두 사용 설정됩니다.
- 더 이상 기본 Android 유지 규칙 파일을 지정할 필요가 없습니다.
레거시 DSL은 계속 지원됩니다.
보관 규칙을 정의하기 위한 소스 세트 도입
파일 접미사 .keep를 사용하여 src/<variant>/keepRules/ 소스 세트에 유지 규칙을 배치합니다. 업데이트된 최적화 DSL과 기존 DSL에서 keep 규칙의 소스 세트를 지원합니다. 앱 모듈, 라이브러리 모듈에서 유지 규칙에 소스 세트를 사용할 수 있으며 Kotlin Multiplatform (KMP) 모듈에서 소비자 규칙을 정의하는 방법으로도 사용할 수 있습니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2026-10-08(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2026-10-08(UTC)"],[],[]]