Guy*_*Guy 50 gradle android-gradle-plugin
如何设置可以从build.gradle和tasks访问的全局变量?
Guy*_*Guy 72
设置全局变量
project.ext.set("variableName", value)
Run Code Online (Sandbox Code Playgroud)
要从项目的任何位置访问它:
project.variableName
Run Code Online (Sandbox Code Playgroud)
例如:
project.ext.set("newVersionName", versionString)
Run Code Online (Sandbox Code Playgroud)
然后...
println project.newVersionName
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅:http://www.gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html
编辑:由Dmitry评论,在新版本中,您可以使用以下简写:
project.ext.variableName = value
Run Code Online (Sandbox Code Playgroud)
naf*_*aka 20
Guy的答案非常好.我只是想添加实用的代码.
例:
在Project build.gradle中放置这样的东西:
project.ext {
minSdkVersion = 21
targetSdkVersion = 23
}
Run Code Online (Sandbox Code Playgroud)
并在Module build.gradle中输入类似的东西来访问它:
defaultConfig {
minSdkVersion.apiLevel project.minSdkVersion
targetSdkVersion.apiLevel project.targetSdkVersion
}
Run Code Online (Sandbox Code Playgroud)
小智 7
您也可以这样做:假设您要添加版本25.3.1的appcompat,您可以在项目级别构建gradle中添加变量version_name
buildscript{
ext.version_name = '25.3.1'
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以将其添加到应用程序级别构建gradle并避免任何冲突
compile "com.android.support:appcompat-v7:$version_name"
compile "com.android.support:recyclerview-v7:$version_name"
compile "com.android.support:design:$version_name"
| 归档时间: |
|
| 查看次数: |
38590 次 |
| 最近记录: |