【问题标题】:How to use jenkins to declare BUILD_NUMBER environment variable in gradle?如何使用jenkins在gradle中声明BUILD_NUMBER环境变量?
【发布时间】:2016-07-29 17:37:45
【问题描述】:
    InterfaceVersion = Interface-Version
    Interface-Version = V2  
         //     property environment = env
     label = ${env.BUILD_NUMBER} 
     ReleaseVersion = Release-Version
     Release-Version = ${env.release_version} 

这就是我的 gradle.properties 文件中的内容。我知道我做错了。如何让它显示 build_number 和 release_version??

【问题讨论】:

    标签: gradle


    【解决方案1】:

    gradle.properties 文件中的值默认不会被插值。为此,您需要使用一些 Gradle 插件来执行此操作,或者您必须手动执行此操作。默认的 Gradle 行为只是将它们解析为普通的旧属性文件。如果您知道哪些应该具有动态值,只需将它们设置在您的build.gradle 文件中而不是gradle.properties 中,效果将是相同的。如果您需要能够在 gradle.properties 文件中使用它的动态性,请使用执行此类插值的插件或手动将每个值评估为 Groovy 表达式,以便替换占位符。

    您可以在Gradle Plugins Portal 上搜索可用插件列表。例如。 com.admc.javaPropFile 是您可能想看看的候选人。

    【讨论】:

      【解决方案2】:

      这里是:

      defaultConfig {
              applicationId "com.project"
              minSdkVersion 16
              versionCode 22
              versionName "1.0.0.13"
          }
      

      并读取属性:

      String versionName = BuildConfig.VERSION_NAME;
      

      【讨论】:

      • 我应该在哪里插入该脚本?在我的 build.xml 或 gradle.properties
      • 在 gradle 属性中:应用插件:'com.android.application' android { ... defaultConfig { applicationId "com.project" minSdkVersion 16 targetSdkVersion 21 versionCode 1 versionName "1.0" } ... }顺便说一句,版本代码是在您执行签名 APK 时使用的,您将在 Google Play 商店中加载,每次您想要进行更新时都必须增加这个数字。
      • 有没有办法让我不必硬编码版本#
      • 不,你不能,而且 google play 会从你的 gradle 文件中读取相同的字段。这意味着谷歌想要这种做法。这是来自我的 Google Play 开发者控制台的图片:gyazo.com/9ea47a9973034ce2606bcd8129dbecb1 你能看到 versionCode 和 versionName 吗?
      • 我明白了。所以 VersionCode 基本上是我的“Release-Version”,而 VersionName 基本上是我的“Build_Number”?
      猜你喜欢
      • 1970-01-01
      • 2021-04-26
      • 2021-05-24
      • 2017-07-31
      • 1970-01-01
      • 2018-01-26
      • 1970-01-01
      • 2018-09-27
      • 2019-11-30
      相关资源
      最近更新 更多