🎃

KMP JAVA_HOME is set to an invalid directoryと言われてビルドできない話

2024/08/13に公開1

バージョン

Fleet version: build 1.38.89
OS: Mac OS X (14.5, aarch64)

現象

タイトルままではあるのですが、

KMPをAndroidStudioでNewProjectしたのですが

iOS層からshared層にジャンプしようとしてもAndroidStudioが対応しておらず

ジャンプすることができなかったので仕方なくFleetを入れることにしました。


しかし、

実際にビルドしようとするとJAVA_HOME is set to an invalid directoryと言われて

全くビルドできない事態に........


対応

要はpathが認識できてないということなので

この時点でのJAVA_HOME設定はAndroidエンジニアならデフォルト的な設定だと思うのですが

/Applications/Android Studio.app/Contents/jbr/Contents/Home

になっていました。

これで読めないということだったので恐らく

  • Android Studio.app経由だと取得できない
  • 『Android Studio』となっていてスペースが混じっているのがよくない

という当てはついたので仕方なくhomebrewでopenjdkを入れて参照することに。


しかし、

openjdk経由でpath参照するとバージョン直指定になってしまうので気持ち悪く、

何とかできないかなーと調べてみたらjenvなるもので

バージョン管理+pathのマスター指定ができるそうな。

https://qiita.com/seijikohara/items/56cc4ac83ef9d686fab2


早速記事を参考にjenvを導入してJAVA_HOMEを

"$HOME/.jenv/shims/java"

に設定してkdocotorすると

✓ Your operation system is ready for Kotlin Multiplatform Mobile Development!

これは勝ったな.......!

と思ったのですがFleet経由だと

  • preflightでgradle not faund
  • gradlewコマンドを打つとJAVA_HOME is set to an invalid directory

といった事態に........

試しにターミナルからgradlewコマンドを打つと普通に動く始末......😅😅😅😅😅😅😅😅😅


結果


はい。

泣きながらJAVA_HOMEを

"$HOME/Library/Java/JavaVirtualMachines/jbr-17.0.11/Contents/Home"

して無事に起動することができました(当たり前)


Fleet...マジで許せねぇ..........

Discussion