メインコンテンツへスキップ

BuildConfigを生成しないようにする方法

TL;DR
#

android {
  ...
  libraryVariants.all {
    it.generateBuildConfig.enabled = false
  }
}```

## 自動生成されるBuildConfig.javaについて

Androidアプリ開発等において、プロジェクト構成をマルチモジュールの形にすることで得られるメリットは大きくなってきています。
通常、AndroidプロジェクトををビルドするとBuildConfig.javaというファイルが自動で生成されます。(R.javaというリソースIDの一覧を保持するファイルも生成されます。)

BuildConfig.javaには、通常下記のような記述がされています。

public final class BuildConfig { public static final boolean DEBUG = Boolean.parseBoolean(“true”); public static final String APPLICATION_ID = “com.shaunkawano.blog.sample”; public static final String BUILD_TYPE = “debug”; public static final String FLAVOR = “”; public static final int VERSION_CODE = 1; public static final String VERSION_NAME = “1.0”;


## BuildConfigを生成しないようにする方法

BuildConfigファイルには設定によって独自の定数を追加することができます。が、そのような定数を保持するBuildConfigファイルはプロジェクト内で一つ存在すれば良さそうです。また、マルチモジュールを構成するようなライブラリモジュール内のBuildConfigファイルに動的な定数値が定義されていることも稀です。つまり大半の場合はライブラリモジュールのBuildConfigファイルは不要であることが多いです。

ライブラリモジュールのBuildConfigファイルを生成しないようにするには、ライブラリモジュールのbuild.gradleに下記の設定を記述します:

android { …

libraryVariants.all { it.generateBuildConfig.enabled = false } }```

参考
#

メモ程度ですが、以上です。