【Android Studio】Settings - Build Tools - Gradle JDK の選択肢がゴミだらけで意味不明の場合

Gradle の JDK 設定の話です。



👉 AndroidStudio 利用する Java (JDK) の選択・設定の方法 hatena-bookmark

選択肢がゴミだらけでしたが、なんとかここまできました。

【Android Studio】Settings - Build Tools - Gradle JDK の選択肢がゴミだらけで意味不明の場合

しかし、PCから削除したはずの 11.0.16 などが選択肢に表示されたままで消えない。

あと、ここに JAVA_HOME が表示されたり、されなかったりする。

クソですね!

 

■ JDK の設定を再度確認する

Homebrew で OpenJDK 11.0.18 のみをインストールしています。



❯ /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 Studio

This 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).

👉 java - Android Studio JDK location changes back to 1.7 every time it is updated to 1.8 path - Stack Overflow hatena-bookmark

「設定のインポートなどで 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 &quot;1.8.0_212&quot;" />
      <version value="java version &quot;1.8.0_212&quot;" />
      <version value="java version &quot;1.8.0_212&quot;" />
      <version value="java version &quot;1.8.0_212&quot;" />
      <version value="java version &quot;1.8.0_212&quot;" />
      <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 を再起動すると、

いい感じになりました!!

【Android Studio】Settings - Build Tools - Gradle JDK の選択肢がゴミだらけで意味不明の場合

表示されてる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" />

期待通りです!!

👉 AndroidStudio 利用する Java (JDK) の選択・設定の方法 hatena-bookmark


【AndroidStudio】JDK8 をアンインストールした

AndroidStudio が Electric Eel となって、embedded JDK も 11 です。


❯ ~/Library/Application\ Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9477386/Android\ Studio.app/Contents/jbr/Contents/Home/bin/java -version
openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
OpenJDK 64-Bit Server VM (build 11.0.15+0-b2043.56-8887301, mixed mode)

👉 Android Studio Releases List | IntelliJ Platform Plugin SDK hatena-bookmark

Gradle も。


❯ ./gradlew -v

------------------------------------------------------------
Gradle 7.6
------------------------------------------------------------

Build time:   2022-11-25 13:35:10 UTC
Revision:     daece9dbc5b79370cc8e4fd6fe4b2cd400e150a8

Kotlin:       1.7.10
Groovy:       3.0.13
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          11.0.16.1 (Homebrew 11.0.16.1+0)
OS:           Mac OS X 13.1 x86_64

なんだか、気分が悪いので JDK8 をアンインストールする。


❯ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    11.0.16.1 (x86_64) "Homebrew" - "OpenJDK 11.0.16.1" /usr/local/Cellar/openjdk@11/11.0.16.1_1/libexec/openjdk.jdk/Contents/Home
    1.8.0_292 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
/usr/local/Cellar/openjdk@11/11.0.16.1_1/libexec/openjdk.jdk/Contents/Home

❯ sudo rm -rf /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk

❯ /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
    11.0.16.1 (x86_64) "Homebrew" - "OpenJDK 11.0.16.1" /usr/local/Cellar/openjdk@11/11.0.16.1_1/libexec/openjdk.jdk/Contents/Home
/usr/local/Cellar/openjdk@11/11.0.16.1_1/libexec/openjdk.jdk/Contents/Home

スッキリしましたわ。


  compileOptions {
    sourceCompatibility JavaVersion.VERSION_11
    targetCompatibility JavaVersion.VERSION_11
  }

  kotlinOptions {
    jvmTarget = JavaVersion.VERSION_11.toString()
  }

なんか、問題あるのかな?



Twitter の代替は Jake Wharton さんの Mastodon が最強じゃね?


👉 「Tweetbot」のTapbot、マストドンアプリ「Ivory」開発中 - ITmedia NEWS hatena-bookmark

そういえば、こんなの公開されてます。Twitter ではありません。

👉 Jake Wharton (@jw@jakewharton.com) - Mastodon hatena-bookmark


Singular Solution
Keep your Twitter follower count at zero by blocking and then quickly unblocking any new followers.

Available as a binary and Docker container.

👉 JakeWharton/singular-solution: Keep your Twitter follower count at zero by blocking and then quickly unblocking any new followers hatena-bookmark

docker + mastodon で Twitter クローン的なものを動かしてるのか、何なのか。

よく分かりませんが。

そういえば tweetbot 使ってましたね、Jake さんも。