本文介绍了在Android build.gradle中将versionName定义为ext变量的正确方法是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图将versionName定义为要在我的gradle配置文件app / build.gradle中使用的ext变量。
I tried to define versionName as an ext variable to be used in my gradle configuration file app/build.gradle.
ext {
versionCode = 19
versionName = "1.2.3"
...
}
...
android {
...
defaultConfig {
...
versionCode versionCode
versionName versionName
}
...
}
...
task updateReleaseMetadata(type:Exec) {
commandLine 'sh'
args "MyShellScript.sh", versionName
}
...
看起来不错。但是我的Android代码无法按以下方式检索versionName
It seemed work fine. However my android code failed to retrieve the versionName as following
PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
return pi.versionName; // return null
我认为我没有以正确的方式使用gradle。
任何帮助都将得到应用。
I think I had not use the gradle in the right way.Any help would be appriciated.
推荐答案
这是在Gradle中设置全局变量的方法。使用它代替ext {}
This is how to set a global variable in Gradle. Use this instead of ext {}
project.ext.set("versionCode", 19)
project.ext.set("versionName", "1.2.3")
然后在您的defaultConfig中
Then in your defaultConfig
versionCode project.versionCode
versionName project.versionName
这篇关于在Android build.gradle中将versionName定义为ext变量的正确方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!