2014-09-01 48 views

回答

57

要設置一個全局變量

project.ext.set("variableName", value) 

從任何地方訪問它的項目:

project.variableName 

例如:

project.ext.set("newVersionName", versionString) 

然後......

println project.newVersionName 

欲瞭解更多信息,請參閱:http://www.gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html

編輯: 正如評論說梅德,在新版本中,你可以使用以下簡寫:

project.ext.variableName = value 
+0

您也可以訪問gradle.properties變量同樣的方式 – James 2015-07-30 04:30:59

+10

更短的方式來定義一個變量是'project.ext.variableName = value'(不顯式調用'項目.ext.set') – 2015-10-28 13:32:26

+0

你可以在任務中爲它設置值嗎? – Bhargav 2016-02-04 15:47:40

12

從傢伙答案是優秀的。我只是想添加實用的代碼。

例子:

把這樣的事情在項目的build.gradle

project.ext { 
    minSdkVersion = 21 
    targetSdkVersion = 23 
} 

並把這樣的事情在模塊的build.gradle進行訪問:

defaultConfig { 
     minSdkVersion.apiLevel project.minSdkVersion 
     targetSdkVersion.apiLevel project.targetSdkVersion 
    } 
2

你也可以這樣做: 可以說你要添加程序兼容性與版本25.3.1您可以在項目級別的gradle構建中加一個變量VERSION_NAME

buildscript{ 
    ext.version_name = '25.3.1' 
} 

現在你可以將它添加到您的應用水平建立gradle這個並避免任何衝突

compile "com.android.support:appcompat-v7:$version_name" compile "com.android.support:recyclerview-v7:$version_name" compile "com.android.support:design:$version_name"