coding etude
[flutter] java 세팅하기 본문
이전 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 폴더 안에 자동으로 설치 되기 때문에 환경변수로 설정해 주면 된다.
'Flutter(Dart)' 카테고리의 다른 글
[fastlane] flutter android 세팅(2) (0) | 2024.01.10 |
---|---|
[fastlane] flutter android 세팅(1) (0) | 2024.01.10 |
[fastlane error] Failed to apply plugin 'com.android.internal.application'. (0) | 2022.10.18 |
[flutter error] java.lang.module.FindException: Module java.se.ee not found(solution/ 해결) (0) | 2022.10.14 |
[GetX] the improper use of a GetX has been detected. (0) | 2022.10.12 |