はじめに

Gradleの設定ファイルを修正することでdebugモード、releaseモードで処理を切り分け設定を有効化できるので、設定しておきます。

1.keystore設置

keystoreもdebugとreleaseでアップしておくとビルドが楽なのでいいと思います。
ただ、release用はgitなどでサーバプッシュはしないほうがセキュリティ的に良いと思います。
keystoreというディレクトリ名にしてプロジェクト直下に作成し、中にkeystoreファイルをそれぞれ設置してください。

sample

2.Gradleファイルについて

設定プロパティなど詳細は公式を参照ください
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types

Gradleファイルのベースとなるテンプレートをアップしておきます。適時変えて使ってみてください。

実行時はAndroidStudioよりBuild VariantからdevelopDebug,stagingDebug,productDebug,developRelease,stagingRelease,productReleaseより選択して実行してください。

実行したできたapkは「app\build\outputs\apk」に作成されます。

実行した場合のapkファイル名のフォーマットは以下になります

[パッケージ名簡潔]_r[バージョン名]-[環境名]-[モード名(release or debug)]_r[バージョンコード]_[実行日付].apk」

app-[環境名]-[モード名(release or debug)]-unaligned.apk」になります。

デフォルトインポートについて

よく使うjava系(java.lang、java.io、java.math、java.net、java.util)はすでにimportされているので、Dateなどその場で使えます。
足りないものはimportで「import java.text.SimpleDateFormat」のように追加できます。
詳細は以下より確認ください。

3.2.1. Default imports
All these packages and classes are imported by default, i.e. you do not have to use an explicit import statement to use them:

java.io.*
java.lang.*
java.math.BigDecimal
java.math.BigInteger
java.net.*
java.util.*
groovy.lang.*
groovy.util.*

http://docs.groovy-lang.org/latest/html/documentation/index.html#_differences_with_java

productFlavors

productFlavorsは実行環境毎に処理を切り分けるために使用できます。今回は環境ごとにファイル名に環境を付加する設定です。

3.その他ファイルの環境別切り分け(develop,staging,product)

productFlavorsで実行環境の処理を切り分けた場合、その環境名と同名のディレクトリを作成すると環境ごとに読み込みディレクトリを自動的に変えてくれます。

今回はstring.xmlのアプリ名となるhogehogeを環境ごとにを指定しておきます。(hogehoge部分にそれぞれdevelop,staging,product)

ディレクトリは以下のようにします

│  └─src
│      ├─develop
│      │  └─res
│      │      └─values
│      │       └─strings.xml
│      ├─main
│      │  ├─java
│      │  │  └─hogehoge
│      │  └─res
│      │      ├─drawable
│      │      ├─drawable-v21
│      │      ├─layout
│      │      ├─menu
│      │      ├─mipmap-hdpi
│      │      ├─mipmap-mdpi
│      │      ├─mipmap-xhdpi
│      │      ├─mipmap-xxhdpi
│      │      ├─mipmap-xxxhdpi
│      │      ├─values
│      │       └─strings.xml
│      │      ├─values-v21
│      │      └─values-w820dp
│      ├─product
│      │  └─res
│      │      └─values
│      │       └─strings.xml
│      ├─staging
│      │  └─res
│      │      └─values
│      │       └─strings.xml

Build Variantから環境ごとにビルドして実行すると確認できます。

一式をテンプレートプロジェクトとしてgithubにアップしました
https://github.com/y-matsumoto/template-project

その他おすすめの備忘録

Tagged with:
 

コメントを残す