【发布时间】:2015-04-13 03:20:21
【问题描述】:
我尝试将 versionName 定义为要在我的 gradle 配置文件 app/build.gradle 中使用的 ext 变量。
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,如下所示
PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
return pi.versionName; // return null
我认为我没有以正确的方式使用 gradle。 如有任何帮助,我们将不胜感激。
【问题讨论】:
-
是否尝试过设置 versionCode 19 而不是在 defaultConfig 中使用另一个变量{}?
-
@Christian 如果我设置“versionCode 19”,我的代码运行良好。如果我设置“versionCode versionCode”,pi.versionCode=0。这与我对 versionName 所做的相同。
-
在下面发布了我的答案。干杯!
标签: android gradle task build.gradle