Gradle용 Android 플러그인 버전 1.5.0(2015년 11월)

종속 항목:
  • Gradle 2.2.1 이상
  • 빌드 도구 21.1.1 이상
일반 사항:
  • 데이터 결합 플러그인을 Gradle용 Android 플러그인에 통합합니다. 사용 설정하려면 플러그인을 사용하는 각 프로젝트 build.gradle 파일마다 다음 코드를 추가하세요.
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • 새로운 변환 API를 추가하여 서드 파티 플러그인이 컴파일된 .class 파일을 .dex 파일로 변환하기 전에 조작할 수 있습니다. 변환 API는 사용자설정 클래스 조작 삽입을 단순화하는 동시에 조작할 수 있는 것에 관련해 유연성을 더 제공합니다. 빌드에 변환을 삽입하려면 Transform 인터페이스 중 하나를 구현하는 새로운 클래스를 생성하고 android.registerTransform(theTransform) 또는 android.registerTransform(theTransform, dependencies)로 등록하세요. 작업을 함께 연결할 필요가 없습니다. 변환 API에 관한 다음 사항에 주의하세요.
    • 변환은 현재 프로젝트, 하위 프로젝트, 외부 라이브러리 중 하나 이상에 적용될 수 있습니다.
    • 변환은 전역적으로 등록되어야 하며 모든 변형에 적용됩니다.
    • 자바 코드 적용 범위 라이브러리 (JaCoCo), ProGuard, MultiDex를 통한 내부 코드 처리가 이제 변환 API를 사용합니다. 그러나 자바 Android 컴파일러 키트(Jack)는 이 API를 사용하지 않고 javac/dx 코드 경로만 사용합니다.
    • Gradle은 JaCoCo, 서드 파티 플러그인, ProGuard 순으로 변환을 실행합니다. 서드 파티 플러그인의 실행 순서는 서드 파티 플러그인이 변환을 추가하는 순서와 일치합니다. 서드 파티 플러그인 개발자는 API를 통해 변환의 실행 순서를 제어할 수 없습니다.
  • ApplicationVariant 클래스에서 dex를 지원 중단합니다. 변형 API를 통해 더 이상 Dex 작업에 액세스할 수 없으며 그 이유는 이제 변환을 통해 완수되기 때문입니다. 현재 dex 프로세스를 제어하는 교체품이 없습니다.
  • 애셋 증분 지원이 수정됩니다.
  • 테스트 프로젝트에 사용할 수 있도록 하여 MultiDex 지원을 개선하고 이제 테스트에는 자동으로 com.android.support:multidex-instrumentation 종속 항목이 있습니다.
  • Gradle 빌드가 비동기 작업을 호출하고 worker 프로세스에 오류가 있을 때 Gradle 빌드에 적절히 오류를 발생시키고 기본 오류 원인을 보고하는 기능이 추가됩니다.
  • 여러 Application Binary Interface(ABI)를 포함하는 변형에서 특정 ABI 구성에 관한 지원을 추가합니다.
  • 테스트를 설치하거나 실행할 때 ANDROID_SERIAL 환경 변수에 관한 기기 일련번호의 쉼표로 구분된 목록의 지원을 추가합니다.
  • APK 이름에 공백이 있을 때 Android 5.0(API 수준 20) 이상을 실행하는 기기에서의 설치 실패를 해결합니다.
  • Android 애셋 패키징 도구(AAPT) 오류 출력과 관련된 다양한 문제를 해결합니다.
  • JaCoCo 증분 계측 지원이 추가되어 증분 빌드가 더 빨라집니다. 이제 Gradle용 Android 플러그인이 JaCoCo 계측기를 직접 호출합니다. 최신 버전 JaCoCo 계측기를 강제 실행하려면 빌드 스크립트 종속 항목으로 추가해야 합니다.
  • JaCoCo 지원이 수정되어 클래스가 아닌 파일을 무시합니다.
  • 이전 버전과의 호환성을 위해 빌드 시 PNG를 생성하는 벡터 드로어블 지원을 추가합니다. Gradle용 Android 플러그인은 API 버전을 지정하지 않거나 앱 매니페스트의 <uses-sdk> 요소에서 20 이하의 android:minSdkVersion 속성을 지정한 리소스 디렉터리에서 발견된 모든 벡터 드로어블의 PNG를 생성합니다. build.gradle 파일의 defaultConfig 또는 productFlavor 섹션에서 generatedDensities 속성을 사용하여 PNG 밀도를 설정할 수 있습니다.
  • 모의할 수 있는 android.jar를 추가로 공유하며 이것은 플러그인이 단위 테스트를 위해 한 번만 생성하고 사용합니다. 이제 다중 모듈(예: app, lib)이 이를 공유합니다. $rootDir/build를 삭제하여 이를 재생성합니다.
  • 자바 리소스 처리를 변경하여 APK를 패키징하는 동안이 아닌 난독화 작업 전에 발생합니다. 이 변경사항으로 난독화 작업이 패키지 난독화에 따라 자바 리소스를 조정할 수 있습니다.
  • 실험용 라이브러리 플러그인에서 자바 네이티브 인터페이스(JNI) 코드를 사용하는 문제를 해결합니다.
  • 실험용 라이브러리 플러그인에서 android:compileSdkVersion 속성과는 별도로 플랫폼 버전을 설정하는 기능을 추가합니다.