Android Studio Dolphin おすすめの Gradle Plugin と Gradle のバージョン

アプリ開発環境の設定がはややこしいですね。

今現在 (2022-12-01) 時点でのバージョンで順番に整えていきましょう。

 

■ Android Studio

安定版最新は 「Android Studio Dolphin | 2021.3.1」 です。

👉 Android Studio Dolphin | 2021.3.1  |  Android デベロッパー  |  Android Developers hatena-bookmark

使ってるバージョンが分からない場合は、Android Studio を開いた状態でメニューから以下から。


[Android Studio]

  ↓

[About Android Studio]

About Android Studio

 

■ Android Gradle Plugin

Android Gradle Plugin のバージョンは、使用する Android Studio のバージョンに依存しています。

Android Gradle plugin and Android Studio compatibility

👉 Android Gradle plugin and Android Studio compatibility - Android Gradle plugin release notes  |  Android Developers hatena-bookmark

Android Studio 「Android Studio Dolphin | 2021.3.1」 に対応している Android Gradle Plugin のバージョンは 「3.2-7.3」 です。

Google Mavens Repository で見てみます。

Google Mavens Repository

👉 com.android.tools.build:gradle - Google's Maven Repository hatena-bookmark

現在、「7.3.1」 が安定版最新です。

以下の話が必須になります。

👉 【Plugin DSL】「com.android.tools.build:gradle」の記述は不要? hatena-bookmark

 

■ Gradle

Gradle のバージョンは、使用する Android Gradle Plugin のバージョンに依存しています。

When you update Android Studio, you may receive a prompt to also update Gradle to the latest available version. You can choose to accept the update or manually specify a version based on your project's build requirements.

👉 Update Gradle - Android Gradle plugin release notes  |  Android Developers hatena-bookmark

Android Gradle Plugin 「7.3.1」 に対応している Gradle のバージョンは 「7.4 以上」 です。

Gradle Distributions で一覧を見ます。

https://services.gradle.org/distributions

👉 Gradle Distributions hatena-bookmark

Gradle Version Information でも Current Release を見ます。

Gradle Version Information


{
  "version" : "7.6",
  "buildTime" : "20221125133510+0000",
  "current" : true,
  "snapshot" : false,
  "nightly" : false,
  "releaseNightly" : false,
  "activeRc" : false,
  "rcFor" : "",
  "milestoneFor" : "",
  "broken" : false,
  "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.6-bin.zip",
  "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.6-bin.zip.sha256",
  "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.6-wrapper.jar.sha256"
}

👉 Gradle Version Information hatena-bookmark

現在、「7.6」 が安定版最新です。

👉 Gradle 7.6 Release Notes hatena-bookmark

 

■ まとめ

今現在、Android アプリ開発環境のおすすめバージョンズは、


Android Studio : Dolphin | 2021.3.1 Patch 1
Android Gradle Plugin : 7.3.1
Gradle : 7.6

となります。

Android Studio 上で簡単に確認することもできますが、


[File]

  ↓

[Project Structure]

  ↓

[Project]

「⚠ This project uses Gradle Version Catalogs: this tool may not behave as expected.」 と表示されたりする Gradle Version Catalog まわりで dependencies の確認や更新作業があやしくなっています。

Terminal から確認してみますか。


❯ ./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.0.1 x86_64

ややこしいですね、バージョンたち。

複数の確認方法があったほうがいいように思います。

👉 Android Studio Electric Eel おすすめの Gradle Plugin と Gradle のバージョン hatena-bookmark
👉 Android 開発環境のいろいろな「バージョン」の 確認方法 と 関係 2022年11月 hatena-bookmark


【Intellij IDEA / AndroidStudio】コードを縦に揃えて、あるカラムでソートできるプラグイン - String Manipulation

どちらがいいか、考えたことありますよね。


int robert_age = 32;
int annalouise_age = 25;
int bob_age = 250;
int dorothy_age = 56;


int robert_age     = 32;
int annalouise_age = 25;
int bob_age        = 250;
int dorothy_age    = 56;

意見が分かれることは私も知ってます。

コーディングは、自分自身の考えを表現する創造的な方法です。表現したアイデアを難しく見せてしまうようなツールであるのなら、インデントではなく、ツール自体を改善すべきでしょう。

👉 私がコーディングで垂直方向にそろえるインデントをとる理由 | POSTD hatena-bookmark

縦位置は揃っていた方が良いが、別に揃っていなくても我慢できなくはありません。むしろ、縦位置なんて諦めた方が総合的には幸せになれると思います。

👉 変数や配列の縦位置を揃えてはいけない!!(ほとんどの場合は) - Qiita hatena-bookmark

Android アプリ開発時 Gradle Version Catalog で TOML を使う場合に、見づらいので、縦に揃えたくなることありますよね?

idmodule でソートしたくなることありますよね?


そんな AndroidStudio (Intellij IDEA) プラグインがあります。

【AndroidStudio】コードを縦に揃えて、あるカラムでソートできるプラグイン - String Manipulation



Separators として、" " (半角スペース) のみを指定するのがおすすめです。

右上の column index を見ながら、id でソートできます。

【AndroidStudio】コードを縦に揃えて、あるカラムでソートできるプラグイン - String Manipulation

実際にファイルに反映するのも良し、見てチェックだけするのも良し。

便利です。他にも色々できます。

👉 String Manipulation - IntelliJ IDEs Plugin | Marketplace hatena-bookmark
👉 krasa/StringManipulation: IntelliJ plugin - https://plugins.jetbrains.com/plugin/2162 hatena-bookmark


CRITICAL WARNING: This version of python seems to be incorrectly compiled (internal generated filenames are not absolute)

PyCharm や Intellij IDEA Ultimate の 「Debug」 で見かけました。


/path/to/python3.11 /path/to/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/222.4345.14/IntelliJ IDEA.app.plugins/python/helpers/pydev/pydevd.py --multiprocess --qt-support=auto --client 127.0.0.1 --port 59014 --file /path/to/test.py 
-------------------------------------------------------------------------------
pydev debugger: CRITICAL WARNING: This version of python seems to be incorrectly compiled (internal generated filenames are not absolute)
pydev debugger: The debugger may still function, but it will work slower and may miss breakpoints.
pydev debugger: Related bug: http://bugs.python.org/issue1666807
-------------------------------------------------------------------------------
Connected to pydev debugger (build 222.4345.14)
pydev debugger: Unable to find real location for: <frozen codecs>
pydev debugger: Unable to find real location for: <frozen importlib._bootstrap>
pydev debugger: Unable to find real location for: <frozen importlib._bootstrap_external>
pydev debugger: Unable to find real location for: <frozen zipimport>
pydev debugger: Unable to find real location for: <string>
pydev debugger: Unable to find real location for: <frozen posixpath>
pydev debugger: Unable to find real location for: <frozen _collections_abc>
pydev debugger: Unable to find real location for: <frozen os>
pydev debugger: Unable to find real location for: <frozen abc>
pydev debugger: Unable to find real location for: <__array_function__ internals>
pydev debugger: Unable to find real location for: <frozen genericpath>
pydev debugger: Unable to find real location for: <frozen io>

以下を Edit Configrations から Interpreter options に追加すれば消える。


-Xfrozen_modules=off

CRITICAL WARNING: This version of python seems to be incorrectly compiled (internal generated filenames are not absolute)

「Run」 や OS の Termnal から実行すると出ない。

IDE に同梱されてる pydevd が古くて、

Debug するスクリプト(インターラプタ) と pydev の バージョン間の相性がイマイチ

という感じか。

非stable な 3.11.x なども、コマンドのオプションとしてつけると消える。

👉 課題 1666807: Incorrect file path reported by inspect.getabsfile() - Python tracker hatena-bookmark
👉 "CRITICAL WARNING" error debugging Python 3.11 code : PY-56939 hatena-bookmark
👉 fabioz/PyDev.Debugger: Sources for the debugger used in PyDev, PyCharm and VSCode Python hatena-bookmark