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 |