Gradle の JDK 設定の話です。
AndroidStudio 利用する Java (JDK) の選択・設定の方法 https://t.co/p07YfVhlQE #android #androidstudio #brew #jdk #java #kotlin #プログラミングスクール
— chanzmao (@maochanz) January 24, 2023
JetBrains IDE製品には、JetBrains Runtime(JBR)と呼ばれるIDE自体の実行に使用されるJava実行環境が同梱されています。これは皆さんが書くコードのコンパイルや実行に使用するためのJDKとは(本来)別のものです。https://t.co/DCSAxaK1KA #android #kmm #androidstudio #プログラミング
— chanzmao (@maochanz) January 18, 2023
Java home is different. が消えない。 https://t.co/V0tUkHuOGj #android #AndroidDev #プログラミング #kotlin #java
— chanzmao (@maochanz) November 13, 2022
👉 AndroidStudio 利用する Java (JDK) の選択・設定の方法
選択肢がゴミだらけでしたが、なんとかここまできました。
しかし、PCから削除したはずの 11.0.16
などが選択肢に表示されたままで消えない。
あと、ここに JAVA_HOME
が表示されたり、されなかったりする。
クソですね!
■ JDK の設定を再度確認する
Homebrew で OpenJDK 11.0.18
のみをインストールしています。
Mac に Homebrew で OpenJDK11 を インストール する https://t.co/ixFMjoNEu2 #androidstudio #Android
— chanzmao (@maochanz) November 1, 2022
❯ /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
11.0.18 (x86_64) "Homebrew" - "OpenJDK 11.0.18" /usr/local/Cellar/openjdk@11/11.0.18/libexec/openjdk.jdk/Contents/Home
/usr/local/Cellar/openjdk@11/11.0.18/libexec/openjdk.jdk/Contents/Home
❯ /usr/libexec/java_home -v11
/usr/local/Cellar/openjdk@11/11.0.18/libexec/openjdk.jdk/Contents/Home
❯ which java
/usr/local/Cellar/openjdk@11/11.0.18/libexec/openjdk.jdk/Contents/Home/bin/java
❯ which javac
/usr/local/Cellar/openjdk@11/11.0.18/libexec/openjdk.jdk/Contents/Home/bin/javac
❯ echo $JAVA_HOME
/usr/local/Cellar/openjdk@11/11.0.18/libexec/openjdk.jdk/Contents/Home
■ jdk.table.xml を削除する
こんな書き込みがありました。
If you've been upgrading your Android Studio and importing settings from previous installations, this might happen (it might also happen with a fresh installation).
Solution:
1. Go to wherever your Android Studio config folder is located (usually at $HOME/.AndroidStudio2.1/confg).
2. Open the Options folder and delete the file jdk.table.xml (keep a backup just in case)
3. Restart Android StudioThis fixed the issue for me. The newly created jdk.table.xml will have updated java8 values (which it most probably fetches from the JDK_HOME environment variable).
「設定のインポートなどで jdk.table.xml
に古い設定が残ってるので消せばよい。新しく作成される。」
とのこと。
とりあえず、眺めてから、念のため移動して
❯ cat "$HOME/Library/Application Support/Google/AndroidStudio2022.1/options/jdk.table.xml" | grep "version value"
<version value="1.3.61" />
<version value="java version "1.8.0_212"" />
<version value="java version "1.8.0_212"" />
<version value="java version "1.8.0_212"" />
<version value="java version "1.8.0_212"" />
<version value="java version "1.8.0_212"" />
<version value="version 11.0.18" />
<version value="version 1.8.0_275" />
<version value="version 11.0.16" />
<version value="version 1.8.0_275" />
<version value="version 1.8.0_275" />
<version value="version 11.0.15" />
<version value="version 11.0.18" />
❯ mv "$HOME/Library/Application Support/Google/AndroidStudio2022.1/options/jdk.table.xml" ~/Desktop
Android Studio を再起動すると、
いい感じになりました!!
表示されてるJDKの実体は、
- JAVA_HOME で指定したJDK (11.0.18)
- java_home で指定したJDK (11.0.18)
- AndroidStudio 同梱のJDK (11.0.15)
の3つとなっています。
また、jdk.table.xml
は以下のように再作成されています。
❯ cat "$HOME/Library/Application Support/Google/AndroidStudio2022.1/options/jdk.table.xml" | grep "version value"
<version value="version 11.0.15" />
<version value="version 11.0.18" />
期待通りです!!