이 페이지에는 Android Gradle 플러그인 (AGP)의 미리보기 버전 출시 노트가 포함되어 있습니다.
Android Gradle 플러그인 9.0
Android Gradle 플러그인 9.0은 AGP의 새로운 주요 버전으로, API 및 동작 변경사항이 적용됩니다.
Android Gradle 플러그인 9.0.0-alpha10으로 업데이트하려면 Android 스튜디오 Otter | 2025.2.1에서 Android Gradle 플러그인 업그레이드 어시스턴트를 사용하세요.
AGP 업그레이드 어시스턴트는 적절한 경우 프로젝트를 업그레이드할 때 기존 동작을 유지하여 AGP 9.0의 새로운 기본값을 모두 채택할 준비가 되지 않았더라도 AGP 9.0을 사용하도록 프로젝트를 업그레이드할 수 있습니다.
호환성
Android Gradle 플러그인 9.0.0-alpha10에서 지원하는 최대 Android API 수준은 API 수준 36입니다.
Android Gradle 플러그인 9.0.0-alpha10에는 Gradle 9.0.0이 필요합니다.
최소 버전 | 기본 버전 | 참고 | |
---|---|---|---|
Gradle | 9.0.0 | 9.0.0 | 자세한 내용은 Gradle 업데이트하기를 참고하세요. |
SDK 빌드 도구 | 36.0.0 | 36.0.0 | SDK 빌드 도구를 설치 또는 구성합니다. |
NDK | 해당 사항 없음 | 28.2.13676358 | 다른 버전의 NDK를 설치 또는 구성합니다. |
JDK | 17 | 17 | 자세한 내용은 JDK 버전 설정을 참고하세요. |
이제 android
DSL 클래스는 새로운 공개 인터페이스만 구현합니다.
지난 몇 년 동안 Google은 공개 API를 더 잘 제어하기 위해 DSL 및 API용 새 인터페이스를 도입했습니다. AGP 버전 7.x 및 8.x에서는 인터페이스 작업이 진행됨에 따라 호환성을 유지하기 위해 새로운 공개 인터페이스도 구현하는 이전 DSL 유형 (예: BaseExtension
)을 계속 사용했습니다.
AGP 9.0은 새로운 DSL 인터페이스만 사용하며 구현이 완전히 숨겨진 새로운 유형으로 변경되었습니다. 이 변경사항은 지원 중단된 이전 변형 API에 대한 액세스 권한도 삭제합니다.
AGP 9.0으로 업데이트하려면 다음을 수행해야 할 수 있습니다.
- 프로젝트가 내장 Kotlin과 호환되는지 확인:
org.jetbrains.kotlin.android
플러그인은 새 DSL과 호환되지 않습니다. KMP 프로젝트를 KMP용 Android Gradle 라이브러리 플러그인으로 전환:
com.android.library
및com.android.application
플러그인과 동일한 Gradle 하위 프로젝트에서org.jetbrains.kotlin.multiplatform
플러그인을 사용하는 것은 새 DSL과 호환되지 않습니다.빌드 파일 업데이트: 인터페이스 변경은 DSL을 최대한 유사하게 유지하기 위한 것이지만 약간의 변경사항이 있을 수 있습니다.
새 DSL 및 API를 참조하도록 맞춤 빌드 로직을 업데이트합니다. 내부 DSL에 대한 참조를 공개 DSL 인터페이스로 바꿉니다. 대부분의 경우 일대일 대체가 됩니다.
applicationVariants
및 유사한 API의 사용을 새androidComponents
API로 대체합니다.androidComponents
API는 플러그인이 더 오래 호환되도록 더 안정적으로 설계되어 있으므로 이 방법이 더 복잡할 수 있습니다. 예는 Gradle 레시피를 참고하세요.서드 파티 플러그인 업데이트: 일부 서드 파티 플러그인은 더 이상 노출되지 않는 인터페이스나 API를 계속 사용할 수 있습니다. AGP 9.0과 호환되는 플러그인 버전으로 이전하세요.
새 DSL 인터페이스로 전환하면 다음을 비롯한 다양한 지원 중단된 API를 사용하는 플러그인과 Gradle 빌드 스크립트가 방지됩니다.
android 블록의 지원 중단된 API |
함수 | 교체 |
---|---|---|
applicationVariants ,libraryVariants ,testVariants , unitTestVariants
|
플러그인이 AGP에 새 기능을 추가할 수 있는 확장 지점 |
이를 androidComponents.onVariants API로 바꿉니다. 예를 들면 다음과 같습니다.
androidComponents { onVariants() { variant -> variant.signingConfig .enableV1Signing.set(false) } } |
variantFilter
|
선택한 변형을 사용 중지할 수 있습니다. |
이를 androidComponents.beforeVariants API로 바꿉니다. 예를 들면 다음과 같습니다.
androidComponents { beforeVariants( selector() .withBuildType("debug") .withFlavor("color", "blue") ) { variantBuilder -> variantBuilder.enable = false } } |
deviceProvider 및testServer
|
Android 기기 및 에뮬레이터에 대해 테스트를 실행하기 위한 맞춤 테스트 환경 등록 | Gradle 관리 기기로 전환합니다. |
sdkDirectory ,ndkDirectory ,bootClasspath ,adbExecutable , adbExe
|
맞춤 작업에 Android SDK의 다양한 구성요소 사용 |
androidComponents.sdkComponents 으로 전환합니다.
|
registerArtifactType ,registerBuildTypeSourceProvider ,registerProductFlavorSourceProvider ,registerJavaArtifact ,registerMultiFlavorSourceProvider , wrapJavaSourceSet |
AGP 7.2.0에서 작동이 중단된 Android 스튜디오의 생성된 소스 처리와 주로 관련된 오래된 기능입니다. | 이러한 API를 직접 대체할 수 있는 API는 없습니다. |
AGP 9.0으로 업데이트한 후 다음 오류 메시지가 표시되면 프로젝트에서 여전히 일부 이전 유형을 참조하고 있는 것입니다.
java.lang.ClassCastException: class com.android.build.gradle.internal.dsl.ApplicationExtensionImpl$AgpDecorated_Decorated
cannot be cast to class com.android.build.gradle.BaseExtension
호환되지 않는 서드 파티 플러그인으로 인해 차단된 경우 선택 해제하고 DSL의 이전 구현과 이전 변형 API를 다시 가져올 수 있습니다.
이 작업을 하는 동안 새 인터페이스도 사용할 수 있으며 자체 빌드 로직을 새 API로 업데이트할 수도 있습니다. 선택 해제하려면 gradle.properties
파일에 다음 줄을 포함하세요.
android.newDsl=false
AGP 9.0으로 업그레이드하기 전에 새 API로 업그레이드할 수도 있습니다. 새 인터페이스는 여러 AGP 버전에 존재해 왔으므로 새 인터페이스와 이전 인터페이스를 혼합할 수 있습니다. AGP API 참조 문서에는 각 AGP 버전의 API 노출 영역과 각 클래스, 메서드, 필드가 추가된 시기가 표시됩니다.
9.0 알파 단계에서 Google은 플러그인 작성자에게 연락하여 새로운 모드와 완전히 호환되는 플러그인을 적용하고 출시하도록 지원하고, Android 스튜디오의 AGP 업그레이드 어시스턴트를 개선하여 이전 과정을 안내할 예정입니다.
새 DSL 또는 Variant API에 기능이 누락된 경우 최대한 빨리 문제를 신고하세요.
Kotlin 내장
Android Gradle 플러그인 9.0에는 Kotlin 컴파일을 위한 지원이 내장되어 별도로 적용된 Kotlin 플러그인을 대체합니다. 이렇게 하면 AGP와의 통합이 간소화되고, 지원 중단된 API를 사용하지 않으며, 경우에 따라 성능이 향상됩니다.
Android Gradle 플러그인 9.0에는 Kotlin Gradle 플러그인 2.2.10에 대한 런타임 종속 항목이 있습니다. 이는 내장 Kotlin 지원에 필요한 최소 버전입니다.
AGP 9.0의 내장 Kotlin은 test-fixtures에 대한 완전한 Android 스튜디오 IDE 지원을 제공합니다.
이를 시도하려면 AGP 9.0.0-alpha07
이상을 사용하세요.
android.builtInKotlin=false
를 설정하여 내장 Kotlin을 선택 해제할 수 있습니다.
기본 제공 Kotlin을 선택 해제하고 이전 버전의 Kotlin Gradle 플러그인을 사용해야 하는 경우 다운그레이드를 강제할 수 있습니다.
buildscript {
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") {
version { strictly("2.0.0") } // or another version that you want to use
}
}
}
동작 변경사항
Android Gradle 플러그인 9.0에는 다음과 같은 새로운 동작이 있습니다.
동작 | 권장사항 |
---|---|
Android Gradle 플러그인 9.0은 기본적으로 NDK 버전 r28c 을 사용합니다.
|
사용할 NDK 버전을 명시적으로 지정하는 것이 좋습니다. |
Android Gradle 플러그인 9.0에서는 기본적으로 라이브러리 소비자가 동일하거나 더 높은 컴파일 SDK 버전을 사용해야 합니다. |
라이브러리를 사용할 때는 동일하거나 더 높은 컴파일 SDK를 사용하세요.
이렇게 할 수 없거나 게시하는 라이브러리의 소비자가 전환할 시간을 더 주려면 AarMetadata.minCompileSdk 을 명시적으로 설정하세요.
|
AGP 9.0에는 다음 Gradle 속성의 기본값에 대한 업데이트가 포함되어 있습니다. 이렇게 하면 업그레이드 시 AGP 8.13 동작을 유지할 수 있습니다.
속성 | 함수 | AGP 8.13에서 AGP 9.0으로 변경 | 권장사항 |
---|---|---|---|
android.newDsl |
android 블록의 기존 구현을 노출하지 않고 새 DSL 인터페이스를 사용합니다.또한 android.applicationVariants 과 같은 기존 변형 API에 더 이상 액세스할 수 없습니다.
|
false → true |
android.newDsl=false 를 설정하여 선택 해제할 수 있습니다.프로젝트에서 사용하는 모든 플러그인과 빌드 로직이 호환되면 선택 해제를 삭제합니다. |
android.builtInKotlin |
org.jetbrains.kotlin.android 플러그인 없이 Android Gradle 플러그인에서 직접 Kotlin 코드를 컴파일할 수 있도록 지원을 사용 설정했습니다.
|
false → true |
가능한 경우 org.jetbrains.kotlin.android 플러그인 사용을 삭제하여 기본 Kotlin을 채택합니다.
그렇지 않은 경우 android.builtInKotlin=false 을 설정하여 선택 해제합니다.
|
android.uniquePackageNames |
각 라이브러리에 고유한 패키지 이름이 있어야 합니다. | false → true |
프로젝트 내 모든 라이브러리에 고유한 패키지 이름을 지정합니다. 그렇게 할 수 없는 경우 이전하는 동안 이 플래그를 사용 중지하면 됩니다. |
android.dependency.useConstraints |
구성 간 종속 항목 제약 조건의 사용을 제어합니다. AGP 9.0의 기본값은 애플리케이션 기기 테스트 (AndroidTest)에서만 제약 조건을 사용하는 false 입니다.
true 로 설정하면 8.13 동작으로 되돌아갑니다.
|
true → false |
필요하지 않은 경우 종속 항목 제약 조건을 어디에나 사용하지 마세요. 이 플래그의 새로운 기본값을 수락하면 프로젝트 가져오기 프로세스에서 최적화가 사용 설정되어 Android 라이브러리 하위 프로젝트가 많은 빌드의 가져오기 시간이 줄어듭니다. |
aandroid.enableAppCompileTimeRClass |
최종이 아닌 R 클래스에 대해 애플리케이션에서 코드를 컴파일하여 애플리케이션 컴파일을 라이브러리 컴파일과 일치시킵니다. 이렇게 하면 증분성이 개선되고 향후 리소스 처리 흐름의 성능 최적화가 가능해집니다. |
false → true |
많은 프로젝트에서 소스 변경 없이 새로운 동작을 채택할 수 있습니다. R 클래스 필드가 switch 사례와 같이 상수가 필요한 곳에 사용되는 경우 연결된 if 문을 사용하도록 리팩터링합니다. |
android.sdk.defaultTargetSdkToCompileSdkIfUnset |
컴파일 SDK 버전을 앱 및 테스트의 타겟 SDK 버전의 기본값으로 사용합니다. 이 변경사항 전에는 타겟 SDK 버전이 기본적으로 최소 SDK 버전으로 설정되었습니다. |
false → true |
앱과 테스트의 타겟 SDK 버전을 명시적으로 지정합니다. |
android.onlyEnableUnitTestForTheTestedBuildType |
테스트된 빌드 유형의 단위 테스트 구성요소만 만듭니다. 기본 프로젝트에서 이전 동작은 디버그 또는 출시를 위해 단위 테스트를 실행하는 것이었지만 이제 디버그를 위한 단일 단위 테스트가 실행됩니다. |
false → true |
디버그와 출시 모두에서 테스트를 실행할 필요가 없는 프로젝트의 경우 변경할 필요가 없습니다. |
android.proguard.failOnMissingFiles |
AGP DSL에 지정된 보관 파일이 디스크에 없으면 오류와 함께 빌드가 실패합니다. 이 변경사항이 적용되기 전에는 파일 이름의 오타로 인해 파일이 자동으로 무시되었습니다. | false → true |
잘못된 ProGuard 파일 선언 삭제 |
android.r8.optimizedResourceShrinking |
R8이 클래스와 Android 리소스를 함께 고려하여 더 적은 Android 리소스를 유지하도록 허용합니다. | false → true |
프로젝트의 보관 규칙이 이미 완료된 경우 변경할 필요가 없습니다. |
android.r8.strictFullModeForKeepRules |
클래스가 유지될 때 기본 생성자를 암시적으로 유지하지 않아 R8이 더 적게 유지할 수 있습니다.
즉, -keep class A 는 더 이상 -keep class A { <init>(); } 를 의미하지 않습니다. |
false → true |
프로젝트의 보관 규칙이 이미 완료된 경우 변경할 필요가 없습니다.
기본 생성자를 유지해야 하는 모든 경우에 프로젝트의 유지 규칙에서 -keep class A 을 -keep class A { <init>(); } 로 바꿉니다.
|
android.defaults.buildfeatures.resvalues |
모든 하위 프로젝트에서 resValues 을 사용 설정합니다.
|
true → false |
다음과 같이 프로젝트의 Gradle 빌드 파일에 설정하여 resValues 를 필요한 하위 프로젝트에서만 사용 설정합니다.
android { buildFeatures { resValues = true } } |
android.defaults.buildfeatures.shaders |
모든 하위 프로젝트에서 셰이더 컴파일을 사용 설정합니다. | true → false |
컴파일할 셰이더가 포함된 하위 프로젝트에서만 셰이더 컴파일을 사용 설정하려면 해당 프로젝트의 Gradle 빌드 파일에서 다음을 설정하세요.
android { buildFeatures { shaders = true } } |
android.r8.proguardAndroidTxt.disallowed |
AGP 9.0에서는 getDefaultProguardFile() 가 proguard-android.txt 가 아닌 proguard-android-optimize.txt 만 지원합니다. 이는 proguard-android.txt 에 포함된 dontoptimize 플래그의 실수로 인한 사용을 방지하기 위한 것입니다.
|
false → true |
proguard-android-optimize.txt 사용과 함께 최적화를 방지하려면 맞춤 proguardFile에서 dontoptimize 을 명시적으로 지정하면 됩니다. 가능한 경우 이 파일에서 dontoptimize 플래그를 삭제하세요. R8 최적화 이점이 줄어듭니다. 그렇지 않은 경우 android.r8.globalOptionsInConsumerRules.disallowed=false 을 설정하여 선택 해제하세요.
|
android.r8.globalOptionsInConsumerRules.disallowed |
AGP 9.0부터 컨슈머 유지 파일에 문제가 있는 Proguard 구성이 포함된 경우 Android 라이브러리 및 기능 모듈 게시가 실패합니다. dontoptimize 또는 dontobfuscate 과 같은 전역 옵션이 포함된 소비자 유지 파일은 애플리케이션 모듈에서만 사용해야 하며 라이브러리 사용자의 최적화 이점을 줄일 수 있습니다. Android 앱 모듈 컴파일은 미리 컴파일된 종속 항목 (JAR 또는 AAR)에 삽입된 경우 이러한 전역 옵션을 자동으로 무시합니다. 구성.txt (일반적으로 <app_module>/build/outputs/mapping/<build_variant>/configuration.txt 와 같은 경로에 있음)에서 # REMOVED CONSUMER RULE: dontoptimize 와 같은 주석을 확인하여 이 문제가 언제 발생하는지 확인할 수 있습니다.
|
false → true |
게시된 라이브러리는 호환되지 않는 규칙을 삭제해야 합니다. 내부 라이브러리는 호환되지 않지만 필요한 규칙을 앱 모듈의 proguardFile로 이동해야 합니다. android.r8.globalOptionsInConsumerRules.disallowed=false 를 설정하여 선택 해제합니다. 모든 소비자 보관 파일이 호환되면 선택 해제를 삭제합니다.
|
삭제된 기능
Android Gradle 플러그인 9.0에서는 다음 기능을 삭제합니다.
- 삽입된 Wear OS 앱 지원
AGP 9.0에서는 Play에서 더 이상 지원되지 않는 Wear OS 앱 삽입 지원이 삭제됩니다. 여기에는wearApp
구성과AndroidSourceSet.wearAppConfigurationName
DSL이 삭제됩니다. Wear OS에 앱을 게시하는 방법은 Wear OS에 배포를 참고하세요. androidDependencies
및sourceSets
보고 작업
DSL 변경
Android Gradle 플러그인 9.0에는 다음과 같은 주요 DSL 변경사항이 있습니다.
CommonExtension
의 매개변수화가 삭제되었습니다.이 자체는 향후 소스 수준 호환성 중단을 방지하기 위한 소스 수준 호환성 중단일 뿐이지만 블록 메서드를
CommonExtension
에서ApplicationExtension
,LibraryExension
,DynamicFeatureExtension
,TestExtension
로 이동해야 한다는 의미도 있습니다.프로젝트를 AGP 9.0으로 업그레이드할 때 이러한 매개변수나 차단 메서드를 사용하는 Gradle 플러그인 코드를 리팩터링하세요. 예를 들어 다음 플러그인은 유형 매개변수를 삭제하고 삭제된 블록 메서드를 사용하지 않도록 업데이트됩니다.
AGP 8.13
val commonExtension: CommonExtension<*, *, *, *, *, *> = extensions.getByType(CommonExtension::class) commonExtension.apply { defaultConfig { minSdk { version = release(28) } } }
AGP 9.0
val commonExtension: CommonExtension = extensions.getByType(CommonExtension::class) commonExtension.apply { defaultConfig.apply { minSdk { version = release(28) } } }
일정 범위의 AGP 버전을 타겟팅하는 플러그인의 경우 게터를 직접 사용하면 AGP 버전 9.0 미만과 바이너리 호환됩니다.
DSL 삭제됨
Android Gradle 플러그인 9.0에서 다음이 삭제됩니다.
AndroidSourceSet.jni
은 작동하지 않았기 때문입니다.AndroidSourceSet.wearAppConfigurationName
은 삭제된 삽입된 Wear OS 앱 지원과 관련이 있습니다.BuildType.isRenderscriptDebuggable
은 작동하지 않았기 때문입니다.DependencyVariantSelection
.DependencySelection
로 대체되며,kotlin.android.localDependencySelection
로 노출됩니다.Installation.installOptions(String)
.Installation.installOptions
의 변경 가능한 속성으로 대체됩니다.실험적이지만 안정화되지 않은
PostProcessing
블록입니다.ProductFlavor.setDimension
:dimension
속성으로 대체됨LanguageSplitOptions
는 지원 중단된 Google Play 인스턴트에만 유용했습니다.
삭제된 API
Android Gradle 플러그인 9.0에서 다음이 삭제됩니다.
AndroidComponentsExtension.finalizeDSl
.finalizeDsl
로 대체되었습니다.Component.transformClassesWith
.Instrumentation.transformClassesWith
로 대체되었습니다.Component.setAsmFramesComputationMode
.Instrumentation.setAsmFramesComputationMode
로 대체되었습니다.ComponentBuilder.enabled
.ComponentBuilder.enable
로 대체되었습니다.DependenciesInfoBuilder.includedInBundle
.includeInBundle
로 대체됩니다.GeneratesApk.targetSdkVersion
.targetSdk
으로 대체됩니다.Variant.minSdkVersion
.minSdk
으로 대체됩니다.Variant.maxSdkVersion
.maxSdk
으로 대체됩니다.Variant.targetSdkVersion
.targetSdk
으로 대체됩니다.com.android.test
플러그인에는 적용되지 않았기 때문입니다.Variant.unitTest
unitTest
은HasUnitTest
을 확장하는VariantBuilder
하위 유형에서 사용할 수 있습니다.VariantBuilder.targetSdk
및targetSdkPreview
는 라이브러리에서 의미가 없으므로 삭제했습니다. 대신GeneratesApkBuilder.targetSdk
또는GeneratesApkBuilder.targetSdkPreview
을 사용하세요.com.android.test
플러그인에는 적용되지 않았기 때문입니다.VariantBuilder.enableUnitTest
enableUnitTest
은HasUnitTestBuilder
을 확장하는VariantBuilder
하위 유형에서 사용할 수 있습니다.HasUnitTestBuilder
을 확장하는VariantBuilder
하위 유형에서 더 일관된 이름의enableUnitTest
을 사용하는 대신VariantBuilder.unitTestEnabled
이 삭제됩니다.VariantOutput.enable
.enabled
으로 대체됩니다.지원 중단되고 사용 중지된
FeaturePlugin
및FeatureExtension
지원 중단되고 사용 중지된
BaseExtension.registerTransform
API. AGP 4.2 이하에서 실행을 타겟팅하는 동안 최신 AGP 버전을 기준으로 컴파일할 수 있도록만 유지되었습니다.
Gradle 속성 삭제
다음 Gradle 속성은 기본적으로 사용 설정된 기능을 전역적으로 사용 중지하는 방법으로 처음 추가되었습니다.
이러한 기능은 AGP 8.0 이하에서 기본적으로 사용 중지되었습니다. 더 효율적인 빌드를 위해 이러한 기능을 사용하는 하위 프로젝트에서만 사용 설정하세요.
속성 | 함수 | 교체 |
---|---|---|
android.defaults.buildfeatures.aidl |
모든 하위 프로젝트에서 AIDL 컴파일을 사용 설정합니다. |
다음 속성을 해당 프로젝트의 Gradle 빌드 파일에 설정하여 AIDL 소스가 있는 하위 프로젝트에서만 AIDL 컴파일을 사용 설정합니다.
android { buildFeatures { aidl = true } } |
android.defaults.buildfeatures.renderscript |
모든 하위 프로젝트에서 RenderScript 컴파일 을 사용 설정합니다. |
다음 속성을 해당 프로젝트의 Gradle 빌드 파일에 설정하여 renderscript 소스가 있는 하위 프로젝트에서만 renderscript 컴파일을 사용 설정합니다.
android { buildFeatures { renderScript = true } } |
강제 적용된 Gradle 속성
다음 Gradle 속성을 설정하면 AGP 9.0에서 오류가 발생합니다.
Android Gradle 플러그인 업그레이드 어시스턴트는 이러한 속성을 사용하는 프로젝트를 AGP 9.0으로 업그레이드하지 않습니다.
속성 | 함수 |
---|---|
android.r8.integratedResourceShrinking |
이제 리소스 축소는 항상 R8의 일부로 실행되며 이전 구현은 삭제되었습니다. |
해결된 문제
Android Gradle 플러그인 9.0.0-alpha10
해결된 문제 | ||||
---|---|---|---|---|
Android Gradle 플러그인 |
|
|||
린트 |
|
Android Gradle 플러그인 9.0.0-alpha09
해결된 문제 | ||||
---|---|---|---|---|
Android Gradle 플러그인 |
|
Android Gradle 플러그인 9.0.0-alpha08
해결된 문제 | |
---|---|
AGP 9.0.0-alpha08에서 해결됨으로 표시된 공개 문제가 없음 |
Android Gradle 플러그인 9.0.0-alpha07
해결된 문제 | |||||||||
---|---|---|---|---|---|---|---|---|---|
Android Gradle 플러그인 |
|
Android Gradle 플러그인 9.0.0-alpha06
해결된 문제 | |||||
---|---|---|---|---|---|
Android Gradle 플러그인 |
|
||||
린트 |
|
Android Gradle 플러그인 9.0.0-alpha05
해결된 문제 | |||||
---|---|---|---|---|---|
Android Gradle 플러그인 |
|
||||
린트 |
|
Android Gradle 플러그인 9.0.0-alpha04
해결된 문제 | ||||
---|---|---|---|---|
Android Gradle 플러그인 |
|
|||
린트 |
|
Android Gradle 플러그인 9.0.0-alpha03
해결된 문제 | ||||
---|---|---|---|---|
Android Gradle 플러그인 |
|
|||
린트 |
|
Android Gradle 플러그인 9.0.0-alpha02
해결된 문제 | ||||
---|---|---|---|---|
Android Gradle 플러그인 |
|
Android Gradle 플러그인 9.0.0-alpha01
해결된 문제 | |||||||
---|---|---|---|---|---|---|---|
Android Gradle 플러그인 |
|