我有一个基于构建变体的场景,我必须运行一个任务。 应用程序正在使用productFlavour,因此它为两种产品风格生成调试和发布版本。
我想要的只是将当前选定的产品风格的构建类型存储在gradle本身的变量中。
我尝试过以下代码
task getflavour(){
android.applicationVariants.all { com.android.build.gradle.api.ApplicationVariant variant ->
println "values of variant ${variant.productFlavors[0].name}"
println "assemble ${variant.flavorName}"
}
}
但它给出了所有构建变体,即2个调试和2个发行版本名称。我只想拥有当前选择的构建变体。
我真的很感激其中的任何输入。提前谢谢
答案 0 :(得分:1)
您可以在变体循环中使用:gradle.startParameter.taskNames [0]
答案 1 :(得分:0)
in gradle:
ext.vMajor = 1
ext.vMinor = 9
def computeVersionName() {
return String.format('%d.%d', vMajor, vMinor)
}
并在您的代码中:
PackageInfo pInfo = null;
try {
pInfo = YamsaferApplication.getContext().getPackageManager().getPackageInfo(YamsaferApplication.getContext().getPackageName(), 0);
return pInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
Log.e("getAppVersion", "Error getting App version", e);
}