构建defaultConfig

前面提到了Gradle脚本android领域中的defaultConfig领域,但没有做详细分析。下面我们将对defaultConfig做进一步解释。

在默认的结构中,android的defaultConfig领域提供了以下配置。

  1. defaultConfig {
  2. applicationId "com.xys.gradletest"
  3. minSdkVersion 14
  4. targetSdkVersion 23
  5. versionCode 1
  6. versionName "1.0"
  7. }

对于这些配置相信很多开发者已经非常熟悉了。在使用Gradle之前,它们都存在于AndroidMainifest文件中。而在使用Gradle之后,这些属性作为android领域的配置,迁移到了Gradle的build脚本中。

如果仅仅是将配置移动了位置,那么你就太小看Gradle了。要知道Gradle之所以称之为脚本,就是因为可以在脚本中写代码,以便动态控制编译过程。例如在脚本中,可以动态控制VersionName的生成,代码如下所示。

  1. defaultConfig {
  2. applicationId "com.xys.gradletest"
  3. minSdkVersion 14
  4. targetSdkVersion 23
  5. versionCode 1
  6. versionName getCustomVersionName()
  7. }

在build.gradle脚本中,定义一个方法来获取动态生成的VersionName,代码如下所示。

  1. def getCustomVersionName(){
  2. ……
  3. }

这样就可以完全自定义,动态配置参数了。