나눔과더함
50
2021-07-13 19:47:06 작성 2021-07-13 19:51:23 수정됨
2
88

안드로이드 스튜디오와 JVM 사용 가능 버전


안드로이드 스튜디오로 코틀린을 공부 중입니다.

자바는 11을 설치하여 사용중입니다.

JVM이 Gradle을 설치하면 최상위 버전까지 지원한다고 안드로이드에서는 설명되어 있던데 

Project Structure Module에 보면 Source(Target) Compatibility에

JVM1.8로 되어 있는데 kotlin_version으로 바꿔도 되는지요?

build.gradle(module: )에도 JVM 1.8로 고정되어 있습니다.

그렇다면 안드로이드는 자바 JVM1.8을 설치하여야 하나요?

1.8을 11로 수정해도 되나요?


 buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility kotlin_version
targetCompatibility kotlin_version
}
kotlinOptions {
jvmTarget = '1.8'
}
}
0
  • 답변 2

  • 멘탈조각
    1k
    2021-07-14 00:50:00

    여러가지 법적 문제가 있어서 안드로이드 JVM 버전은 1.8이 최신입니다.

    compileOption.*Compatibility은 자바 언어 버전이지 코틀린 버전이 아닙니다.

  • 나눔과더함
    50
    2021-07-14 20:05:48
    친절한 답변 감사 드립니다.
    JVM 버전 문제가 구글링 해도 여러가지 답변들이 있어 정말 헷갈립니다.
    Do it 코틀린 책에도 1.8 까지 지원 한다고 되어 있어요.
    근데 kotlinlang.org 에서 헷갈리게 해놯습니다.

    Enabling JVM records

    JVM records require the 16 target version or higher of the generated JVM bytecode.

    To specify it explicitly, use the jvmTarget compiler option in Gradle or Maven.

    이걸보면 JVM16까지 지원한다고 되어 있습니다.

    위에 코드를 JVM 11로 수정하니 에러가 나더군요.

    1.8 까지만 지원하는게 맞는가 봅니다. 

    OpenJDK인 Zulu도 1.8까지만 지원하는지요?



  • 로그인을 하시면 답변을 등록할 수 있습니다.