在 Android build.gradle 中将 versionName 定义为 ext 变量的正确方法是什么?
What is the right way to define versionName as ext variable in Android build.gradle?
我尝试将 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 代码未能检索到版本名称,如下所示
PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
return pi.versionName; // return null
我想我没有以正确的方式使用 gradle。
如有任何帮助,我们将不胜感激。
这是在Gradle中设置全局变量的方法。使用它而不是分机 {}
project.ext.set("versionCode", 19)
project.ext.set("versionName", "1.2.3")
然后在你的默认配置中
versionCode project.versionCode
versionName project.versionName
我尝试将 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 代码未能检索到版本名称,如下所示
PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
return pi.versionName; // return null
我想我没有以正确的方式使用 gradle。 如有任何帮助,我们将不胜感激。
这是在Gradle中设置全局变量的方法。使用它而不是分机 {}
project.ext.set("versionCode", 19)
project.ext.set("versionName", "1.2.3")
然后在你的默认配置中
versionCode project.versionCode
versionName project.versionName