【Kotlin/Android】BuildConfigが生成されない場合の解消法!
この記事からわかること
- Android Studio/Kotlinでビルド環境を変更する方法
- debugやdevelop、staging、releaseなど
- APIURLや設定情報を環境ごとに変えるには?
- buildConfigFieldやresValueの使い方
index
[open]
\ アプリをリリースしました /
環境
- Android Studio:Meerkat
- Kotlin:2.0.21
Cause: defaultConfig contains custom BuildConfig fields, but the feature is disabled.
defaultConfig {
// 〜〜〜〜〜〜〜〜〜
buildConfigField("String", "API_URL", "https://appdev-room.com/dev")
}
build.gradle内に上記のようにbuildConfigFieldを追加して「Sync now」をすると以下のエラーが発生することがあります。
Cause: defaultConfig contains custom BuildConfig fields, but the feature is disabled.
これはBuildConfigを生成する設定がOFFになっていることで発生するようです。そのためbuild.gradle内のbuildFeaturesにbuildConfig trueを記述することで解決することができました。
buildFeatures {
buildConfig true
}
defaultConfig {
// 〜〜〜〜〜〜〜〜〜
buildConfigField("String", "API_URL", "https://appdev-room.com/dev")
}
別の解決法としてproject/gradle.properties内に以下の設定を追加することでも解消するようです。
android.defaults.buildfeatures.buildconfig=true
BuildConfigが生成されない場合の解消法
「Sync now」ができてもコードからBuildConfigクラスが参照できない場合があります。本来なら以下のimportで導入できるはず。
import com.example.project.BuildConfig
結局以下のようにして色々とキャッシュを削除すると解決することができました。
- Android Studioの再起動
- Clean Build
- 「Sync now」
- アプリをビルド
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。







