Android Gradle 플러그인 3.2.0(2018년 9월)
이 버전의 Android 플러그인에는 다음이 필요합니다.
최소 버전 | 기본 버전 | 참고 | |
---|---|---|---|
Gradle | 4.6 | 4.6 | 자세한 내용은 Gradle 업데이트하기를 참고하세요. |
SDK 빌드 도구 | 28.0.3 | 28.0.3 | SDK 빌드 도구를 설치 또는 구성합니다. |
3.2.1(2018년 10월)
이 업데이트를 통해 더 이상 SDK 빌드 도구의 버전을 지정하지 않아도 됩니다. 이제 Android Gradle 플러그인이 기본적으로 버전 28.0.3을 사용합니다.
새로운 기능
-
Android App Bundle 빌드 지원: 이 App Bundle은 모든 앱의 컴파일된 코드와 리소스를 포함하는 동시에 APK 생성 및 Google Play 스토어 서명은 지연시키는 새로운 업로드 형식입니다. 더 이상 여러 APK를 빌드, 서명, 관리할 필요가 없으며 사용자는 기기에 최적화된 작은 용량을 다운로드합니다. 자세한 내용은 Android App Bundle 정보를 읽어보세요.
-
주석 프로세서 사용 시 개선된 증분 빌드 속도 지원: 이제
AnnotationProcessorOptions
DSL이CommandLineArgumentProvider
를 확장하여 개발자나 주석 프로세서 작성자가 증분 빌드 속성 유형 주석을 사용하는 프로세서의 인수에 주석을 달 수 있습니다. 이러한 주석을 사용하면 증분 및 캐시된 클린 빌드의 정확성과 성능이 개선됩니다. 자세한 내용은 주석 프로세서에 인수 전달을 읽어보세요. -
AndroidX용 이전 도구: Android 3.2 이상에서 Android Gradle 플러그인 3.2.0을 사용하는 경우 메뉴 바에서 Refactor > Migrate to AndroidX를 선택하여 프로젝트의 로컬 및 Maven 종속 항목을 이전해 새로운 AndroidX 라이브러리를 사용할 수 있습니다. 이 이전 도구를 사용하면
gradle.properties
파일에서 다음 플래그를true
로 설정하기도 합니다.-
android.useAndroidX
:true
로 설정하면 Android 플러그인은 지원 라이브러리 대신 적절한 AndroidX 라이브러리를 사용합니다. 이 플래그를 지정하지 않으면 Android 플러그인은 기본적으로false
로 설정합니다. -
android.enableJetifier
:true
로 설정하면 Android 플러그인은 바이너리를 다시 작성해 기존 서드 파티 라이브러리를 자동으로 이전하여 AndroidX를 사용합니다. 이 플래그를 지정하지 않으면 Android 플러그인은 기본적으로false
로 설정합니다.android.useAndroidX
도true
로 설정한 경우에만 이 플래그를true
로 설정할 수 있고 그러지 않으면 빌드 오류가 발생합니다.자세한 내용은 AndroidX 개요를 읽어보세요.
-
-
새로운 코드 축소기 R8: R8은 ProGuard를 대체하는 코드 축소 및 난독화를 위한 새로운 도구입니다. 프로젝트의
gradle.properties
파일에 다음 코드를 포함하여 R8의 미리보기 버전을 사용할 수 있습니다.android.enableR8 = true
android.enableR8 = true
동작 변경사항
-
D8을 사용한 디슈가링이 기본적으로 사용 설정됩니다.
-
이제 AAPT2가 Google의 Maven 저장소에 있습니다. AAPT2를 사용하려면 아래와 같이
build.gradle
파일에google()
종속 항목이 있는지 확인하세요.buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
-
이제 네이티브 멀티덱스가 기본적으로 사용 설정됩니다. 이전 버전의 Android 스튜디오에서는 Android API 수준 21 이상을 실행하는 기기에 앱의 디버그 버전을 배포할 때 네이티브 멀티덱스를 사용 설정했습니다. 이제 기기에 배포하든 출시용 APK를 빌드하든 Android Gradle 플러그인이
minSdkVersion=21
이상을 설정한 모든 모듈에 네이티브 멀티덱스를 사용 설정합니다. -
이제 플러그인이 최소 버전의 protobuf 플러그인(0.8.6), Kotlin 플러그인(1.2.50), Crashlytics 플러그인(1.25.4)을 시행합니다.
-
이제 기능 모듈 플러그인
com.android.feature
가 모듈 이름을 지정할 때 문자, 숫자, 밑줄만을 사용하게 합니다. 예를 들어 기능 모듈 이름에 대시가 포함된 경우 빌드 오류가 발생합니다. 이 동작은 동적 기능 플러그인의 동작과 일치합니다.
버그 수정
- 이제 JavaCompile이 데이터 결합이 있는 프로젝트에서 캐시 가능합니다. (문제 #69243050)
- 데이터 결합이 있는 라이브러리 모듈에 관한 컴파일 방지가 개선됩니다. (문제 #77539932)
- 일부 예기치 않은 빌드 오류로 인해 이전 버전에서 configure-on-demand를 사용 중지한 경우 이제 이를 다시 사용 설정할 수 있습니다. (문제 #77910727)