Android Gradle 플러그인 9.2는 다양한 새 기능과 개선사항이 포함된 부 버전입니다.
호환성
Android Gradle 플러그인 9.2에서 지원하는 최대 API 수준은 API 수준 36.1입니다. 다음은 기타 호환성 정보입니다.
| 최소 버전 | 기본 버전 | 참고 | |
|---|---|---|---|
| Gradle | 9.4.1 | 9.4.1 | 자세한 내용은 Gradle 업데이트하기를 참고하세요. |
| SDK 빌드 도구 | 36.0.0 | 36.0.0 | 설치 또는 구성 SDK 빌드 도구. |
| NDK | 해당 사항 없음 | 28.2.13676358 | 다른 버전의 NDK를설치 또는 구성합니다. |
| JDK | 17 | 17 | 자세한 내용은 JDK 버전 설정을 참고하세요. |
통합 적용 범위 및 테스트 보고서
AGP 9.2.0-alpha07에서는 다양한 테스트 유형 (단위 및 계측), 모듈, 빌드 변형의 테스트 결과와 적용 범위를 통합하는 HTML 대시보드를 생성하는 작업을 도입하여 단일 대시보드에서 포괄적인 개요를 제공합니다. 자세한 내용은 통합 코드 적용 범위 보고서 생성 및 통합 테스트 보고서 보기를 참고하세요.
R8 변경사항
다음 R8 변경사항이 AGP 9.2.0에 포함되어 있습니다.
런타임에 표시되지 않는 주석을 유지하기 위한 더 엄격한 -keepattributes 의미
런타임에 표시되지 않는 주석은 런타임에 읽을 수 없습니다. 따라서 D8은 런타임에 표시되지 않는 주석을 무조건 삭제하며 이를 변경할 수 있는 옵션은 없습니다.
ProGuard와의 호환성을 위해 R8은 런타임에 표시되지 않는 주석 출력을 지원합니다. 하지만 DEX로 컴파일할 때는 일반적으로 런타임에 표시되지 않는 주석을 유지해서는 안 됩니다. 하지만 R8이 런타임에 표시되는 주석을 유지하도록 편리한 규칙 -keepattributes *Annotation*을 포함하는 것이 일반적입니다 (소비자 유지 규칙에서 직접 또는 간접적으로).
안타깝게도 이렇게 하면 런타임에 표시되지 않는 주석도 유지됩니다.
이 문제를 완화하고 D8 동작과 더 잘 일치하도록 와일드 카드가 있는 -keepattributes 패턴은 더 이상 RuntimeInvisibleAnnotations, RuntimeInvisibleParameterAnnotations, RuntimeInvisibleTypeAnnotations와 일치하지 않습니다.
따라서 런타임에 표시되지 않는 주석은 와일드 카드 없이 속성 이름이 명시적으로 언급된 경우에만 유지됩니다.
이제 다음 규칙은 런타임에 표시되지 않는 주석을 유지하지 않습니다.
-keepattributes *
-keepattributes *Annotation*
-keepattributes *Invisible*
런타임에 표시되지 않는 주석을 유지하려면 다음 규칙을 사용하세요.
-keepattributes RuntimeInvisibleAnnotations,
RuntimeInvisibleParameterAnnotations,
RuntimeInvisibleTypeAnnotations
멤버 규칙에서 부정된 이름 지원
이제 부정된 멤버 이름 패턴과 일치하도록 구성 언어가 확장되었습니다.
예를 들어 'ForTesting'으로 끝나지 않는 모든 메서드와 일치시키려면 다음 규칙을 사용하세요.
-keepclassmembers class com.example.MyClass {
*** !*ForTesting(...);
}
멤버 이름 패턴은 -if 규칙의 전제 조건에서 부정될 수도 있습니다. 부정된 멤버 이름 패턴에 와일드 카드가 포함되어 있으면 이러한 와일드 카드는 -if 결과 규칙에서 역참조될 수 없습니다.
해결된 문제
Android Gradle 플러그인 9.2.0-alpha04
| 해결된 문제 | |||
|---|---|---|---|
| Android Gradle 플러그인 |
|
||
Android Gradle 플러그인 9.2.0-alpha03
| 해결된 문제 | |||
|---|---|---|---|
| Android Gradle 플러그인 |
|
||
| 린트 |
|
||
| 린트 통합 |
|
||
Android Gradle 플러그인 9.2.0-alpha02
| 해결된 문제 | ||||
|---|---|---|---|---|
| Android Gradle 플러그인 |
|
|||
| 린트 통합 |
|
|||
Android Gradle 플러그인 9.2.0-alpha01
| 해결된 문제 | |||||
|---|---|---|---|---|---|
| Android Gradle 플러그인 |
|
||||
| 린트 |
|
||||