Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

coding etude

[flutter] java 세팅하기 본문

Flutter(Dart)

[flutter] java 세팅하기

코코리니 2022. 10. 18. 18:55

이전 gradle 세팅에 이어서 java 세팅에 대해서 기록하려고 한다.

 

증상 fastlane test 입력 시 뜸금없이 kotlinCompile 에러가 뜬다..??!!

일단 버전 문제 일수 있으니.. 확인해 보니 java8에 호환되는 버전은 1.5.31 이라고 친절하게 flutter 공식문서에 나와 있다.

 

project/android/build.gradle 

buildscript {
    ext.kotlin_version = '1.5.31'
    repositories {
        google()
        mavenCentral()
    }

우선 요로케 버전을 수정해 주고... 다시 fastlane test

두둥.. make sure gradle is running on a jdk not jre.

gradle 이 jre을 이용하여 compile을 해야하는데 jdk를 이용해서 나오는 오류.. (간단하게 말하지만.. 6시간 걸림)

 

android/gradlew 파일을 보면 

# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
        # IBM's JDK on AIX uses strange locations for the executables
        JAVACMD="$JAVA_HOME/jre/sh/java"
    else
        JAVACMD="$JAVA_HOME/bin/java"
    fi
    if [ ! -x "$JAVACMD" ] ; then
        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."

요런 부분이 포함되어 있는데 결국 저기 보이는 JAVA_HOME가 잘못 등록 되어 있거나 등록되어있지 않으면 나오는 오류인 것이다..

 

mac 에서 java가 여러곳에 존재하는것 같은데.. /usr/bin/java 는 java interpreter 라는 가장 상위의 순수 java 라고 표현해야하나.. 

그리고 환경변수 JAVA_HOME에 들어가야 할 JDK(java development kit) 는 JavaVirtualMachines/설치한 JDK .ver을 뜻한다.

 

그래서 꼭 JDK 파일 중에서도 .pkg 파일을 받아서 설치하면 JavaVirtualMachines 폴더 안에 자동으로 설치 되기 때문에 환경변수로 설정해 주면 된다.