【Android Studio】Google vs JetBrains - build 時 に利用する JDK の選択

外野から、さらっと見ていると、


- IDEA Intellij は JetBraains 製。
- Android Studio は Google 製。
- Android Studio は IDEA Intellij を利用してできている。

と認識しています。

それぞれ公式で以下の内容。


ん?

一般的、標準的な Android アプリ開発の IDE といえば Android Studio だと思うのですが、開発したソースコードの build に利用する JDK は、「Android Studio にバンドルされている JDK」でいいんですよね?

Android Studio 設定画面からは、どちらでも選択はできます。

今現在、私のパソコンにインストールされてる JDK は、Android Studio バンドル版を含めて OpenJDK 11.0.15 と 11.0.18 と 19.0.1 の3つ。

Android Studio 設定画面もそれは認識しています。

【Android Studio】Google vs JetBrains - build 時 に利用する JDK の選択
19 系はないとして、やはり embedded JDK 11.0.15 が妥当ですよね。

少し、混乱してました。

特に理由がなければこれで良し、とな。

👉 Android Studio Electric Eel | 2022.1.1 の JDK11 設定 hatena-bookmark
👉 【macOS】Android Studio 埋め込み JDK の Home のパスを取得する hatena-bookmark
👉 AndroidStudio 利用する Java (JDK) の選択・設定の方法 hatena-bookmark
👉 macOS (Intel) + Homebrew の JDK の現状を確認する hatena-bookmark
👉 【Android Studio】Settings - Build Tools - Gradle JDK の選択肢がゴミだらけで意味不明の場合 hatena-bookmark


【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


Android Studio Electric Eel | 2022.1.1 の JDK11 設定

一番標準的で簡単な Android Studio Electric Eel での JDK設定です。

メニューから About Android Studio で表示される内容は以下。

Build #AI-221.6008.13.2211.9477386, built on January 11, 2023


Android Studio Electric Eel | 2022.1.1
Build #AI-221.6008.13.2211.9477386, built on January 11, 2023
Runtime version: 11.0.15+0-b2043.56-8887301 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 13.1
GC: G1 Young Generation, G1 Old Generation
Memory: 4096M
Cores: 16
Registry:
    external.system.auto.import.disabled=true
    ide.text.editor.with.preview.show.floating.toolbar=false
    documentation.show.toolbar=true

Non-Bundled Plugins:
    org.moe (1.5.2)
    org.jetbrains.compose.desktop.ide (1.2.2)
    com.jetbrains.kmm (0.5.1(221)-61)

表示されてるように Android Studio に同梱されてる JDK は OpenJDK 11.0.15 改 by JetBrains という感じでしょうか。

公式 developers.android.com には以下のように書かれています。


なので、この Android Studio に同梱された JDK を使う設定をします。

メニューから、


Settings...

  ↓

Build, Execution, Deployment

  ↓

Build Tool

  ↓

Gradle

Embedded JDK version 11.0.15 を選択します。

Android Studio Electric Eel | 2022.1.1  での JDK設定

あとは、build.gradle に以下を記述しておきます。


  compileOptions {
    sourceCompatibility JavaVersion.VERSION_11
    targetCompatibility JavaVersion.VERSION_11
  }

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

以上です。

これが、きっと今現在では最も標準的で簡単です。

👉 【Android Studio】Settings - Build Tools - Gradle JDK の選択肢がゴミだらけで意味不明の場合 hatena-bookmark
👉 AndroidStudio 利用する Java (JDK) の選択・設定の方法 hatena-bookmark