Android build.gradle任务具有当前风格

时间:2018-12-11 10:09:07

标签: android groovy build.gradle android-productflavors

为了使我的应用程序构建自动化,我想根据所选的产品风格注入特定的配置。

我想在构建之前注入配置,然后构建将取决于我的注入。

这是一个例子:

flavorDimensions "mode"

  productFlavors {
    dev {
      dimension "mode"
      applicationIdSuffix ".dev"
    }

    recette {
      dimension "mode"
      applicationIdSuffix ".recette"
    }

    prod {
      dimension "mode"
    }
  } 

我的任务:

task packageApp() {
  group "package"
  flavor = project.hasProperty('flavor') ? project.property('flavor') : 'dev'
}


task injectConf(type: Exec) {

  dependsOn 'packageApp'

  group "config"

  workingDir '../../../'

  commandLine 'sh', '-c', "\$(which yarn) inject-conf $flavor"
}

task assembleApp(type: Exec) {
  dependsOn 'injectConf'

  group "config"

  workingDir '../'

  def flavorCap = flavor.substring(0,1).capitalize() + flavor.substring(1, flavor.length())

  commandLine 'sh', '-c', "./gradlew assemble${flavorCap}Release"
}

如果我在命令行中通过Fastlane脚本进行构建,则可以从属性中获得风味。但是当我只是从Android Studio运行我的应用程序时,我希望得到这种味道,这样我也可以在构建之前注入配置。

所以我的问题是,我可以检索在应用程序构建之前选择的样式吗?

一些帮助将不胜感激:)

0 个答案:

没有答案