retrolambda는 이름에서 유추할 수 있듯이(?) JAVA8에 포함되어 있는 람다Lambda식을
JDK6, 7에서도 사용할 수 있도록 해주는 gradle plugin이다.
gradle도 maven repository를 통해서 의존성 관리를 해준다.
따라서 retrolambda를 사용하기 위해서는
해당 프로젝.. project나 module build.gradle 파일에서 jar 파일과 설정 몇 가지만 추가해주면 사용할 수 있다.
다만 android sdk가 JDK7까지만 지원하는 관계로
android studio 역시 JDK7에 해당되는 내용까지만 체크를 해준다.
요컨대 형식 오류때문에 빌드는 할 수 없는 상황이 생기기 때문에 몇 가지 내용만 추가해주면 된다.
https://github.com/orfjackal/retrolambda
retrolambda 공식 github 주소
https://github.com/evant/gradle-retrolambda
이건 android studio용 gradle 설정...
백문이 불여일견이라고... 삽질은 해보면 늘어나느가 보다 -_-;
gradle이 groovy로 되어 있다는데; 본격 언어를 빌드 하기 위해 언어를 사용하기
build.gradle 이 보인다...
build.gradle 파일을 수정하기 위해서는 Project 탭에서 상단 combo 박스에서 선택된 값을 기본 Android에서 Project로 바꿔서 접근하는게 편하다.
build.gradle 내용은 프로젝트에 따라 다르겠지만 기본값은 대동소이하다...
build.gradle 예제
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "com.urcompany.project"
minSdkVersion 19
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.2'
}
이 내용을 다음과 같이 바꿔주자.
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.urcompany.project
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'me.tatarka:gradle-retrolambda:3.0.1'
}
}
엄밀하게 이야기하면,
의존성 관리를 위해
apply plugin: 'me.tatarka.retrolambda'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'me.tatarka:gradle-retrolambda:3.0.1'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
를 추가하면 된다.
'dev > android' 카테고리의 다른 글
| android studio 1.2RC build 혹은 debug 시에 죽는 문제 (0) | 2015.04.27 |
|---|---|
| android studio 개인 환경 설정 저장용 (0) | 2015.02.09 |
| android sqlite 정리 - select (0) | 2015.01.16 |
| 너무 똑똑한 android studio(intelliJ) refactor의 문제점! (0) | 2015.01.08 |
| @string resource에 parsing 없이 문자열 넣기 (0) | 2014.12.18 |