【Kotlin/Android Studio】ビルド環境を変更する方法!buildConfigField

この記事からわかること
- Android Studio/Kotlinでビルド環境を変更する方法
- debugやdevelop、staging、releaseなど
- APIURLや設定情報を環境ごとに変えるには?
- buildConfigFieldやresValueの使い方
index
[open]
\ アプリをリリースしました /
参考文献:公式リファレンス:Gradle-Tips
iOS(Xcode)でいうスキームで変更できるようなビルド時の環境の変更方法のAndroid版をまとめていきます。
おすすめ記事:【Xcode】開発環境(ReleaseとDebug)モードの切り替え方法
環境
- Android Studio:Kotlin
- Kotlin:1.9.0
ビルド環境を変更する方法
Android Studioでビルド環境を追加するにはbuild.gradleファイルのbuildTypes内に環境を追加します。デフォルトでは以下のようにあらかじめreleaseのみが定義されています。
ここにdebug
とstaging
を追加する際は以下のようになります。中には環境ごとの設定を記述していきます。またこの際に上側に記述した環境がデフォルト適応されるようになります。
applicationIdSuffix
アプリのパッケージ名にサフィックスを追加できます。例:com.example.app.debug
debuggable
デバッグ情報を含めるかどうかを制御
minifyEnabled
ProGuard(またはR8)を使用してコードの最適化と難読化を有効にするかどうかを設定
initWith [環境名]
指定した環境設定を継承する
記述できたら「Sync Now」を押してプロジェクトに反映させます。
実際に環境を切り替える:buildConfigField
Android Studioで実際にビルドする際の環境を切り替えるには上部メニューの「Build」>「Select Build Variant...」をクリックします。すると右側に「Build Variants」メニューが出てくるのでそこからアクティブにする環境を変更することで切り替えることが可能です。

環境に応じてAPIのURLや設定を変更する方法
環境を切り分けたいときはAPIのURLが環境ごとに異なったり、設定情報を変更したい時だと思います。そのような時はbuildConfigField
メソッドを使用します。引数にはデータ型
、参照変数
、値
を渡します。
またresValue
メソッドでリソースを追加することも可能です。
アプリ内から参照するには以下のようにします。
AndroidManifest.xmlから変数を参照する
「AndroidManifest.xml」で参照する値を環境ごとに切り替えたい場合はmanifestPlaceholders
にKey-Value形式
で値を指定することができます。
「AndroidManifest.xml」側では以下のように${admobAppId}
のような形式で値を指定することができます。
「build.gradle.kts」の場合は以下のように指定します。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。