利用gradle添加构建版本号
来源:互联网 发布:vivo旗舰店淘宝 编辑:程序博客网 时间:2024/06/04 01:21
在java的程序中,貌似都没有这个构建版本号的概念,用的诸如eclipse, idea和android studio的IDE也没有直接提供构建版本号的选项。不过我却想在android程序的版本号当中添加一个构建版本号,当然,这个只是个人的蛋疼需求。虽然在stackoverflow上看到其他人也有这种需求,但相信人不多。
这里分享一下我的解决方法。
首先在app的build.gradle中的android方法里面,把defaultConfig的代码替换成以下代码:
def verName = "1.0.0" def suffix = "(RC)" defaultConfig { applicationId "cn.irains.access.v2" minSdkVersion 14 targetSdkVersion 20 versionCode 5 versionName verName + suffix } def versionPropsFile = file('version.properties') if (versionPropsFile.canRead()) { def Properties versionProps = new Properties() versionProps.load(new FileInputStream(versionPropsFile)) def name = versionProps['VERSION_NAME'].toInteger() def runTasks = gradle.startParameter.taskNames if ('b' in runTasks || 'build' in runTasks ) { name++ } versionProps['VERSION_NAME']=name.toString() versionProps.store(versionPropsFile.newWriter(), null) defaultConfig { versionName verName + "." + name + suffix } } android.applicationVariants.all { variant -> def file = variant.outputFile variant.outputFile = new File(file.parent, file.name.replace(".apk", "-" + defaultConfig.versionName + ".apk")) }
上面的android.applicationVariant.all就是指定了新的apk的文件名。前面的一大堆代码都是构建版本号的逻辑。因为是构建版本号,所以先读取任务,仅在任务为b(build的缩写)或build的情况下,版本号才加一。
然后我们还需要在build.gradle的同级目录下建立一个叫version.properties的文件,用于保存构建版本号。
完成之后,构建一下试试吧。
1 2
- 利用gradle添加构建版本号
- AndroidStudio 利用Gradle打包添加上版本名和版本号
- android 利用gradle构建工程
- 在 Eclipse 下利用 gradle 构建系统
- 在 Eclipse 下利用 gradle 构建系统
- eclipse下利用gradle构建项目
- 在Eclipse下利用gradle构建系统
- 在 Eclipse 下利用 gradle 构建系统
- 在 Eclipse 下利用 gradle 构建系统
- 在 Eclipse 下利用 gradle 构建系统
- 在Eclipse下利用gradle构建系统
- 在 eclipse 下利用 gradle 构建系统
- 在 Eclipse 下利用 gradle 构建系统
- 在 Eclipse 下利用 gradle 构建系统
- 在eclipse下利用gradle构建系统
- 在 Eclipse 下利用 gradle 构建系统
- Eclipse 下利用 gradle 构建系统
- Eclipse 下利用 gradle 构建系统
- IOS日期排序
- svn服务器搭建和使用
- ios发布屏蔽NSlog打印信息
- 线程学习(一)
- 配置Log4j(很详细)
- 利用gradle添加构建版本号
- Oracle游标变量的使用实例
- 结构模式之享元模式
- 关于二分查找(指针)-C指针与陷阱练习3-3
- PHP5中的魔术方法
- ios8Alertiview使用的变化~
- CKEditor+CKFinder+ASP.NET配置
- 详解C# 迭代器
- Pymongo中的like语句 正则表达式不区分大小写