gradle下,自动关联versionName,versionCode
来源:互联网 发布:我要开淘宝网店怎么开 编辑:程序博客网 时间:2024/06/05 05:12
一、基本介绍
- versionCode
用于版本升级,int 类型,对用户不可见。 - versionName
用于对用户展示的版本名,字符串类型。
二、关联
一般为了统计版本,方便后端的接口升级,会用一些算法他们关联起来。例如:
versionName -> versionCode1.0.1 -> 100 000 0011.0.0 -> 1*2^16+0*2^8+0*2^1
注意:versionCode是Int型的。
三、简单实现
1,从文件读取versionName
//从version.properties文件获取versionNamedef getVersionName() { def versionFile = file('version.properties') if (versionFile.exists()) { def Properties versionProps = new Properties() versionProps.load(new FileInputStream(versionFile)) def versionCode = versionProps['build.name'].toString() return versionCode } else { throw new GradleException("Could not find version.properties!") }}
2,获取versionCode
//获取版本code,通过100 000 000 关联versionNamedef getVersionCode() { def versionSplite = getVersionName().split("\\.") println(versionSplite.toString()) StringBuffer sb = new StringBuffer(); for (item in versionSplite) { switch (item.length()) { case 1: sb.append('00'); sb.append(item); break case 2: sb.append('0'); sb.append(item); break case 3: sb.append(item); break default: throw new GradleException("version name is error !") break } } return sb.toInteger()}
3 version.properties
4,配置gradle versionCode,versionName
android{ ... defaultConfig{ def vCode = getVersionCode() def vName = getVersionName() defaultConfig { applicationId "com.xxx" minSdkVersion 14 targetSdkVersion 22 versionCode vCode versionName vName }}
最后
用studio 时间不长,对gradle了解还不够。如果,有更好的方式或者学习资料,记得留个地址哈。
0 0
- gradle下,自动关联versionName,versionCode
- 自动生成versionCode/VersionName
- 如果通过Gradle自动生成各个brand的versionName和VersionCode
- build.gradle配置versionCode、versionName、apk的名字
- android gradle中关于 versionCode versionName 的配置
- Android 读取Manifest文件下的versionCode和versionName
- VersionCode和VersionName
- Android版本号versionCode,versionName
- VersionCode和VersionName
- VersionCode和VersionName相关
- AndroidManifest:VersionCode和VersionName
- AndroidManifest:VersionCode和VersionName
- Android versionCode与versionName
- versionCode和versionName
- VersionCode和VersionName
- AndroidManifest:VersionCode和VersionName
- Android versionCode与versionName
- VersionCode与VersionName
- SQL Server Replication II
- 路由器开发相关知识总结 —— IEEE1588基础知识
- Ubuntu server 14.0464位上编译Hadoop 2.6.4(纯键盘模式)
- 嵌入式软件工程师常见笔试题
- 最小二乘法
- gradle下,自动关联versionName,versionCode
- jsp学习笔记1
- 安卓PC实现通信与UDP的Java实现
- CentOS上配置rsyslog客户端用以远程记录日志
- 常用的几种算法总结
- Rxjava 简介
- 图算法9之1011
- 欢迎使用CSDN-markdown编辑器
- 测试-TestNG and Mockito