どっこと備忘録群

アウトプットしないとインプットできない私が Androidアプリ開発をメインとした備忘録を載せています。

Gradleを扱う

build.gradleで環境変数・定数を管理する

Gradleが自動生成してくれる BuildConfig を使うことで、 buildTypesproductFlavor ごとに初期値や定数値を持たせることができる。 例えば、APIのドメインや広告IDなど、開発版(buildType: debug)とリリース版(buildType: release)で設定値を切り替えるときに利用。

BuildConfigに定数を乗せる実装

buildTypes (debug / release) ごとに定義する場合は以下でOKです。

  • defaultConfig に初期値を設定する。
  • buildTypes ごとに定数の値を上書き設定する。
android {
  // ...
  defaultConfig {
      // buildTypesで上書きがなかった場合に設定される値
      buildConfigField "String", "AD_UNIT_ID", "\"とりあえずな広告ID\""
  }
  // ...

  buildTypes {
    release {
      // 本物の広告IDを上書きして定義
      buildConfigField("String", "AD_UNIT_ID", "\"本物の広告ID\"")
      ...
    }
    // とりあえずな広告IDをdefaultConfigに書いていますが、
    // debugブロックに書いて、defaultConfigは空文字などを指定しても問題ありません。
  }
}

上記の定数を使いたいところで、以下ように参照すれば値を取得することができる。

const val AD_UNIT_ID_SIDE_BAR = BuildConfig.AD_UNIT_ID

参考

gradleのキャッシュを削除する

rm -rf ~/.gradle/caches

~/ となっていることからも分かる通り、削除するディレクトリはユーザディレクトリ直下にあるキャッシュディレクトリ。 これを実行すると次回のビルドには時間がかかる。そのため、「PCやプロジェクトの挙動がおかしいな?」と思った時に実行する。 なお、 .gradle フォルダを削除してもGradleが次回ビルド時に自動で再構築してくれるため、完全に削除しても全く問題ない。

最終更新: 2026.6.13