由于app版本迭代较频繁,回归版本测试的时候就比较麻烦,得登录进app内的关于版本才能看到,小编比较喜欢简洁明了,于是就在脚本里做了一系列操作,直接在页面读取脚本切换环境,直接通过脚本获取版本名称和版本号,简直是越研究越感兴趣,像小编这么懒的人都记住了呢,今天就讲讲如何通过gradle获取版本名称和版本号吧
ext {
compileSdkVersion =25
buildToolsVersion ='25.0.2'
supportLibraryVersion ='25.3.1'
minSdkVersion =19
targetSdkVersion =23
butterknife ='8.4.0'
//声明版本号与名称
versionCode =11
versionName ='1.1.0'
//要声明测试环境还是生产环境
ceshi_app_label ="测试"
release_app_label ="生产"
}
// 保证其他的lib没有被preDex // 不加上这一句,会打出很多的大小较小dex;加这一个只会打出4、5个大小较大dex
Options {
javaMaxHeapSize "4g"
preDexLibraries = true
}
//修改生成的最终Apk名称
applicationVariants.all {variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile?.name?.endsWith('.apk')) {
def outputDirectory = file('../target') /*new File(outputFile.parent)*/;
//如果改变apk包的输出路径,则outputFile.parent替换掉就可以了
def fileName = "app"
if (variant.buildType.name == "release") {
fileName="aibank_v${defaultConfig.versionName}_${packageTime()}_${variant.productFlavors[0].name}.apk"
} else if (variant.buildType.name == "debug") {
fileName="aibank_v${defaultConfig.versionName}_${packageTime()}_${variant.productFlavors[0].name}.apk"
}
output.outputFile = new File(outputDirectory, fileName)
}
}
}
大家可以举一反三,有什么不懂的可以留言哦