ide/androidstudio

Lamda 사용을 위한 Android Studio JDK8 Jack 설정

C/H 2017. 1. 4. 08:30

Java 8 기능 및 Jack 툴체인 활성화

새로운 Java 8 언어 기능을 사용하려면 Jack 툴체인도 사용해야 한다.
새로운 Android 툴체인은 Android에서 읽을 수 있는 Dex 바이트코드로 Java 언어 소스를 컴파일하고, 자체 .jack 라이브러리 형식이 있으며, 단일 도구로는 가장 많은 툴체인 기능(리패키징, 축소, 난독화, 멀티덱스)을 제공한다.

Android DEX 파일을 빌드하는 데 사용되는 두 개의 툴체인을 비교한 것입니다.

레거시 javac 툴체인
javac(.java → .class) → dx (.class → .dex)
새로운 Jack 툴체인
Jack(.java → .jack → .dex)

Gradle 구성

android {
  ...
  defaultConfig {
    ...
    jackOptions {
      enabled true
    }
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

알려진 문제점

Instant Run은 현재 Jack과 호환되지 않으며 새로운 툴체인을 사용하는 동안 비활성화.
Jack이 앱을 컴파일할 때 중간 클래스 파일을 생성하지 않으므로, 이들 파일에 의존하는 도구는 현재 Jack과 호환되지 않는다.

반응형

'ide > androidstudio' 카테고리의 다른 글

Theme : Consistent Design with AppCompat  (0) 2017.01.06
Android Design Support Library  (0) 2017.01.05
RxAndroid  (0) 2017.01.03
ReactivceX, RxAndroid  (0) 2017.01.02
okhttp3  (0) 2016.12.28