Java 8 기능을 Android Studio 2.4 에서 써봅시다.

이전에 Java 8 기능을 Android 에서 써보는 것에 관한 포스팅을 했었는데요.

최근 Android Studio 2.4.0 Preview 5 부터 Jack 툴체인이 아닌 기존 툴체인에서 Java 8 을 지원하기 시작했습니다. (지원발표상으로는 Preview 4 부터이지만 버그때문에 제대로 쓸 수 없었고, Preview 5 부터 잘 동작했습니다.)

안그래도 Jack 툴체인의 성능문제에 대한 포스팅도 썼었는데요.

기왕 Android Studio 2.4 자체적으로 지원이 되기 시작했으니 기존 작성했던 내용도 정리를 해볼 필요가 생겼습니다.

기존과 달라진 점은 Jack enabled 를 제거하는 것 뿐입니다.
그리고, Android SDK 25 버전 이상을 쓰는 것이고요.

이 점을 반영해서 기존 예제코드를 수정해두었습니다.
(현재 기준으로 최신 버전인 Android Studio 2.4.0 Preview 6 로 작성되었습니다.)

며칠 써보면서 느낀 점은 기존 Jack 툴체인의 복잡함을 없애면서 기존 구현내용을 자연스럽게 기존 툴체인에 녹여낸 것 같다는 점입니다. (Syntactic Sugar 를 걷어내는 과정으로 desugaring 과정이 추가되었습니다.)

성능상 무리도 없어보이고, 다른 플러그인과의 연동에도 무리가 없습니다.
이제 모든 개발자들이 원하던 모습으로 정리된 것 같네요.

(그리고, 당연하게도 Retrolambda 는 쓸 필요가 없어졌습니다. 안녕, 레트로람다~)

하지만, 저는 Agera 와의 연동을 고려할때에나 Java 8 을 쓸까 이젠 모든 코드베이스가 Kotlin 으로 작성되었기 때문에 Java 8 API 를 꼭 써야만 하는 경우가 아니라면 큰 의미가 없군요. (오늘도 기승전코틀린~)

http://www.fastcampus.co.kr/dev_camp_adp/ >>> Fast campus 에서 Android 프로젝트 CAMP 를 진행하는 강사입니다. Java 는 알지만 Android 는 아직 모르시는 분들을 위해 상용 수준의 앱을 같이 만들어보는 과정입니다.

http://www.fastcampus.co.kr/dev_camp_adp/ >>> Fast campus 에서 Android 프로젝트 CAMP 를 진행하는 강사입니다. Java 는 알지만 Android 는 아직 모르시는 분들을 위해 상용 수준의 앱을 같이 만들어보는 과정입니다.