如何在运行我的gradle构建之前在Android Studio中设置环境变量

时间:2016-01-22 07:15:59

标签: android android-studio gradle android-gradle

My Gradle构建查看名为BUILD_NUMBER的环境变量,以确定要分配给我的Android应用程序的版本,如下所示:

def buildNumber = System.getenv("BUILD_NUMBER") ?: "local"

因此,只要设置了该环境变量,就会在defaultConfig中使用内部版本号,如下所示:

versionName "1.4.0."+buildNumber

通常,Jenkins会调用此Gradle构建并提供BUILD_NUMBER环境变量。

如果我从命令提示符运行Gradle构建,我知道我可以设置BUILD_NUMBER = x。

但是,如果我使用Android Studio构建,如何通过Android Studio本身设置BUILD_NUMBER环境变量?

3 个答案:

答案 0 :(得分:13)

一种选择是使用可以被环境变量覆盖的gradle属性。你可以阅读它here

  

如果环境变量名称看起来像 ORG_GRADLE_PROJECT _ prop = somevalue,则Gradle将在项目对象上设置prop属性,其值为somevalue。

这意味着你可以

  1. 像往常一样在BUILD_NUMBER=42文件(项目或全局)中设置.properties
  2. 在您的CI中,您可以将环境变量命名为ORG_GRADLE_PROJECT_BUILD_NUMBER,覆盖或设置CI版本中的BUILD_NUMBER
  3. 注意:在项目根目录中使用gradle.properties,不要修改local.properties

答案 1 :(得分:5)

我最终在build.gradle中使用了以下内容:

def buildNumber = System.getenv("BUILD_NUMBER")
if (buildNumber == null) {
    Properties properties = new Properties()
    properties.load(project.rootProject.file('local.properties').newDataInputStream())
    buildNumber = properties.getProperty('buildNumber')?:"NoBuildNumberFound"
}

因为local.properties文件不应该提交到源代码存储库,所以每个开发人员都管理自己的副本。

因此,如果他们想在本地Android Studio上设置buildNumber,他们只需将以下内容添加到他们的local.properties中:

buildNumber=7

因此,在本地开发人员计算机上,内部版本号将设置为他们放入local.properties文件的内容,但在我们的Jenkins服务器上,它将使用环境变量BUILD_NUMBER

我们的Jenkins服务器设置BUILD_NUMBER环境变量

答案 2 :(得分:3)

这些只是环境变量。

如果在Windows下,请转至操作系统控制面板,然后在右上角的搜索框中键入“环境”。然后单击“编辑您帐户的环境变量”,高度用户友好且无需管理员权限。编辑后重新启动Android Studio。

如果在Linux下,请在您的主文件夹(vi ~/.bashrc或其他编辑器)中编辑.bashrc。可以在那里设置环境变量。 source ~/.bashrc(或注销/登录)并在编辑后重新启动Android Studio。

相关问题