AndroidStudio 新規プロジェクトテンプレートから考える .gitignore

標準的な Android アプリ開発環境である AndroidStudio デフォルトのテンプレートは王道。

そのタイミングでの標準的なテンプレートです。

 

■ AndroidStudio プロジェクトデフォルト

今現在、公開されているプロジェクトテンプレートから確認してみます。

Empty Activity を選択しました。

AndroidStudio 新規プロジェクトテンプレートから考える .gitignore

👉 benigumocom/EmptyActivity-2023-02-09: androidstudio default template hatena-bookmark

プロジェクトルートから .gitignore を探ります。



これからスタートするのがいいでしょう。

 

■ A collection of .gitignore templates - github/gitignore

A collection of .gitignore templates

This is GitHub’s collection of .gitignore file templates. We use this list to populate the .gitignore template choosers available in the GitHub.com interface when creating new repositories and files.

👉 github/gitignore: A collection of useful .gitignore templates hatena-bookmark

GitHub 公式のリポジトリから公開されています。

Android アプリ開発に必要そうなものを挙げていきます。


👉 gitignore/JetBrains.gitignore at main · github/gitignore hatena-bookmark


👉 gitignore/macOS.gitignore at main · github/gitignore hatena-bookmark


👉 gitignore/Android.gitignore at main · github/gitignore hatena-bookmark


👉 gitignore/Gradle.gitignore at main · github/gitignore hatena-bookmark

Kotlin.gitignore は、以下 Java.gitignore のエイリアス。

👉 gitignore/Java.gitignore at main · github/gitignore hatena-bookmark

 

■ gitignore.io - toptal/gitignore


👉 gitignore.io - Create Useful .gitignore Files For Your Project hatena-bookmark で利用されている .gitignore リソースは以下で公開されています。

👉 gitignore/templates at master · toptal/gitignore hatena-bookmark

基本的には、先に紹介した github/gitignore と同じものですが、こちら側のみで公開している .gitignore があります。

なので、それらを貼っておきます。


👉 AndroidStudio.gitignore hatena-bookmark


👉 gitignore/Groovy.gitignore at master · toptal/gitignore hatena-bookmark


👉 gitignore/Firebase.gitignore at master · toptal/gitignore hatena-bookmark

 

■ まとめ

以上を参考にすれば、ほぼ書けるはずです。

AndroidStudio 新規プロジェクト作成時に書き出される .gitignore が必要最小限な洗練されてる記述に思えます。

あとは、不要なファイル公開を避ける記述を追加していく、という流れ。

git 全体としては、広く深く記述もいろいろなのでよく使うとこから身につけていく方がいいと思います。

👉 【これだけで大丈夫】.gitignore チートシート - A Memorandum hatena-bookmark

.gitignore 概念の説明や操作としては、GitHub 公式 Doc が最も分かりやすくまとまっています。

👉 ファイルを無視する - GitHub Docs hatena-bookmark
👉 What makes a good template? - github/gitignore: A collection of useful .gitignore templates hatena-bookmark


プログラミング でも UI でも 等幅フォント「Martian Mono」はいい感じ。

Martian Monoは、Martian Grotesk(myfonts.com)の等幅バージョンで、Groteskのすべての利点を継承しつつ、コード用とデザイン用に制作されたフォントです。

ライセンスはSIL Open Font License 1.1で、商用プロジェクトでも無料で使用できます。

👉 プログラミング用フォントとUIデザインのどちらにも使える! 美しさと読みやすさを兼ね備えたフォント「Martian Mono」 | コリス hatena-bookmark

良さげなので、IDEA/AndroidStudio に適用してみましたが、エディター内コードのテキスト、IDE の UI のテキスト、両方共にすごくいいです!

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

きれいでくっきりと分かりやすいフォントです。

私の場合はあまり目が良くないので、すべてのテキストサイズは 14 に統一しています。

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

多少、目が悪くても、光の当たり方が悪くても、すごく見やすくて分かりやすいです。

おすすめです。

ちなみに、上の画像は、最も標準的な Std Rg otf を入れたものです。

👉 evilmartians/mono: Free and open-source monospaced font from Evil Martians hatena-bookmark


QuickTime で簡単に「カット編集」できるとは!

👉 iMovieより早くて簡単! MacのQuickTimeで動画編集する方法 | ライフハッカー・ジャパン hatena-bookmark


⌘ (command) + Y   → カット
⌫ (delete)        → 削除

ということのようです。

iMovieより早くて簡単! MacのQuickTimeで動画編集する方法
👉 MacのQuickTime Playerのキーボードショートカットとジェスチャ - Apple サポート (日本) hatena-bookmark

実際は、動画前後の不要部分をトリムするだけなら、


⌘ (command) + T  → トリム

のほうが簡単です。



👉 Twitter 動画をツイートできず - 公式「YUV 4:2:0 ピクセルフォーマット にのみ対応しています」 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】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