AndroidのGradleでbuildTypes毎にtaskを作成する方法
前提
build.gradleにて、下記のように書くことで、buildTypesを増やせます。
buildTypes { hoge.initWith(buildTypes.debug) hoge { applicationIdSuffix ".hoge" } }
これだけで、 assembleHoge
とかは作成されます。
src/main
と同じように、 src/hoge
ディレクトリを作り、そこにファイルを配置することで、それらで上書きすることが出来ます。
本題
作成した hoge
環境と、元々ある debug
, release
それぞれにタスクを定義したいとする。
(各環境事のapkファイルを、ゴニョゴニョやる必要がある、とか。)
GradleでAndroidアプリを起動するタスクを追加する - インターネッコはじめました
の丸パクリですが。
とりあえず、下記のように定義できる。
android.buildTypes.all { theBuildType -> def buildType = theBuildType.name task ("exe${buildType.capitalize()}", dependsOn: "prepare${buildType.capitalize()}") << { // 何かを実行したり } task ("prepare${buildType.capitalize()}") { } }
この場合、
./gradlew exeHoge
とか、
./gradlew exeRelease
とかが出来る。