6월, 2016의 게시물 표시

Error converting bytecode to dex

안드로이드 스튜디오에 자바 라이브러리 모듈을 추가했는데, 시스템에 설치된 JDK는 8인데 반해서, 안드로이드 컴파일시에 요구되는 자바 버전은 7이다.

그저 아무 생각없이 시스템에 JDK 7을 설치해 버릴까 하다가,
오류 메시지를 한 번 더 자세히 읽어 보니,
자바 라이브러리 모듈의 build.gradle 파일에 다음 두 줄을 추가해 주라고 한다.

apply plugin: 'java' targetCompatibility = '1.7' sourceCompatibility = '1.7'

Unmappable character for encoding MS949

안드로이드 스튜디오에서 자바 라이브러리 모듈을 하나 추가했더니
unmappable character for encoding MS949
라는 컴파일 오류가 뜬다. 그냥 주석에 한글 몇 자 있을 뿐인데도 이걸 처리하지 못한다.

원인:
자바 파일의 인코딩은 UTF-8을 사용하고 있는데, 윈도우즈 시스템의 기본 인코딩이 MS949라서 그렇다고 한다.

해결 방법:
자바 라이브러리 모듈의 build.gradle 파일을 열고 다음과 같이 한 줄을 추가해준다.
apply plugin: 'java' compileJava.options.encoding = 'UTF-8'