はじめに
gradle の Android Pluginには色々便利な機能があります。
「ビルドバリアント」を使ってソースセット(java, res, assets)などを切り替えるのは特に使いどころがあると思うので共有します。
Version
- Android Studio 1.1.0
- Gradle Android Plugin 1.1.0
ビルドバリアント
ビルドバリアントは andoird pluginの機能で、詳細はここにあります。
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
そして、Android Studioもサポートしていて、GUIでどのビルドバリアントを編集するかをスイッチすることができるのがかなり画期的です。
そして このQiitaの記事
Android Studio で Build Variants
がとてもよくまとめられていて、もう特に書くことないですね。。。
DebugやReleaseビルドでWebAPI接続先などの環境設定を変える
一応続きを書きます。
つまり、
-
src/main/{java,res,assets}/...
: に通常の共通のソースコードやリソースを置く -
src/debug/{java,res,assets}/...
: に Debugビルドのソースコードやリソースを置く -
src/release/{java,res,assets}/...
: に Releaseビルドのソースコードやリソースを置く
ということができるので、
src/{debug,release}/java/com/example/BuildTypeConfig.java
などに
public class BuildTypeConfig {
public static final boolean DEBUG = true; // or false
public static final String API_HOST = "debug.example.com"; // or release.example.com
}
などとしておくだけで、切り替えることができます。
GoogleMapのKeyやGoogleAnalyticsのIDなどもこうしておくと便利ですね。
さいごに
毎回手作業やJenkinsなどで動的に書き換えるよりも安全なので、是非活用したいところです。