【macOS】Android Studio 埋め込み JDK の Home のパスを取得する

毎回どこなのかググるので。

まずは、mdfind で Android Studio のインストールされているパスを取得します。

👉 mdfind – macOSのCLIでもSpotlightを使ってファイルを高速全文検索する | DevelopersIO hatena-bookmark


❯ mdfind kMDItemCFBundleIdentifier="com.google.android.studio*"
/Users/mao/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9477386/Android Studio.app
/Users/mao/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/223.7571.182.2231.9523943/Android Studio Preview.app

JetBrains Toolbox で Android Studio Preview版 も入れてるので複数見つかります。

👉 JetBrains Toolbox で Android Studio の Stable/Beta/Canary が同時に管理できる? hatena-bookmark

パス内の 221.6008.13.2211.9477386 のような文字列は、Android Studio のリリースバージョンです。

Android Studio Releases List

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

find | grep して JDK の Home を探します。


❯ find "/Users/mao/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9477386/Android Studio.app" \
  | grep -E "/(jdk|jbr)/Contents/Home$"
/Users/mao/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9477386/Android Studio.app/Contents/jbr/Contents/Home

Home のパスが見つかったらバージョンを確認してみます。


"/Users/mao/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 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)

というかんじをスクリプトにしておきます。



JDK の Home パスとバージョンが表示されます。


❯ find-androidstudio-embedded-jdk.sh
"/Users/mao/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9477386/Android Studio.app/Contents/jbr/Contents/Home"
openjdk 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)

"/Users/mao/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/223.7571.182.2231.9523943/Android Studio Preview.app/Contents/jbr/Contents/Home"
openjdk 17.0.5 2022-10-18
OpenJDK Runtime Environment (build 17.0.5+0-17.0.5b653.25-9484017)
OpenJDK 64-Bit Server VM (build 17.0.5+0-17.0.5b653.25-9484017, mixed mode)

https://plugins.jetbrains.com/docs/intellij/android-studio-releases-list.html

mdfind って便利で高速です。

👉 Android Studio Electric Eel | 2022.1.1 の JDK11 設定 hatena-bookmark
👉 macOS (Intel) + Homebrew の JDK の現状を確認する hatena-bookmark


言語設定は「日本語」でなく「English」にしておくべき理由

あちこちで日本語化の時差が出てます。

最新の情報を得るには、公式でさえ本家「English」の言語設定にしておくべきでしょう。

例えば、このページ。

👉 https://developer.android.com/studio/releases hatena-bookmark

上部の言語設定を切り替えながら見てみます。

2023-01-20 1:16 現在。

変化の早い技術系記事では、「English」に設定しておくほうがいいのでしょうね。



【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()
  }

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