SDK 타깃을 Nougat으로 올렸을 때 Java 1.8을 요구하는 오류 문제

macOS(OS X)의 안드로이드 스튜디오에서 SDK 버전을 N으로 올리면, JDK 8이 설치되어있음에도 Java 1.8 이상이 필요하다는 메시지와 함께 레이아웃 프리뷰 등이 보이지 않는 문제가 발생한다.

2016. 08. 05.

현상

macOS(OS X)의 안드로이드 스튜디오에서 SDK 버전을 N으로 올리면, JDK 8이 설치되어있음에도 아래 메시지와 함께 레이아웃 미리보기 등이 보이지 않는 문제가 발생한다.

Android N requires the IDE to be running with Java 1.8 or later.

또는

Android Nougat requires the IDE to be running with Java 1.8 or later.

빌드나 실행에는 문제가 없다.

원인

안드로이드 스튜디오, 정확히는 스튜디오의 기반인 인텔리제이의 JVM 옵션은 기본적으로 Java 1.6을 타깃으로 지정한다. 때문에 빌드 타깃이 1.8이더라도 스튜디오 자체 JVM을 사용하는 미리보기 등은 정상적으로 동작하지 않게 된다.

해결책

  1. 터미널 등의 에디터에서 /Applications/Android Studio.app/Contents/Info.plist 파일을 연다.
  2. <key>JVMVersion</key>를 찾아서, 해당 값을 바꾸어준다.
    • <string>1.6*,1.7+</string> 등으로 되어있는 경우가 많으며, 이 경우에는 1.6*를 지우면 해결된다. 반드시 1.8을 명시적으로 지정할 필요는 없다.
      1. 안드로이드 스튜디오를 재시작한다.

Clean 후 재빌드 해주면 해결된다.

뒤따르는 이슈

위와 같이 버전을 수정할 경우 레이아웃 미리보기에서의 한글 깨짐, 안드로이드 스튜디오의 화면이 전반적으로 어두워지고 폰트가 달라짐 등의 증상이 발생하는데, 이에 대한 원인은 아직 파악하지 못했다.

2016년 9월 1일 업데이트

한글 깨짐 문제에 대한 원인과 해결책은 다음 포스트에 작성하였다: Android Studio 레이아웃 프리뷰에서의 한글 깨짐 문제.

크리에이티브 커먼즈 라이선스

이 저작물은 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.

© 2011 - 2020 Do Hoerin, LYnLab