废话写在最前面
今天突然对AndroidManifest.xml文件中的VersionCode和VersionName的命名规则有些疑问,到底怎么样的命名才是规范的呢?于是查看了几款常用软件的命名规则,通过豌豆荚是可以看到app的VersionCode和VersionName的,手机上也给这几款软件截了个图(如下)。废话不多说,看了参考文章就明白了。我只做个简单的总结。
参考文章
关于版本号的总结
Android 各版本的命名规则是怎样的?
Google官方-Version Your App
AndroidManifest:VersionCode和VersionName
更优雅的 Android 发布自动版本号方案
Android Studio Gradle实践之多渠道自动化打包+版本号管理
简单总结
versionCode
— An integer used as an internal version number. This number is used only to determine whether one version is more recent than another, with higher numbers indicating more recent versions. This is not the version number shown to users; that number is set by the versionName
setting, below.
VersionCode,整数值,发布第一版程序设为1,每次发布依次递增,对用户不可见,仅用于识别版本用途。
VersionName,字符串值,对用户可见,如1.0.0。
Typically, you would release the first version of your app with versionCode
set to 1, then monotonically increase the value with each release, regardless whether the release constitutes a major or minor release. This means that the versionCode
value does not necessarily have a strong resemblance to the app release version that is visible to the user (see versionName
, below). Apps and publishing services should not display this version value to users.
也就是说VersionCode理论上来说只要依次递增就可以(你开心就好),但是一般建议从1开始。
Warning: The greatest value Google Play allows for versionCode
is 2100000000.
一种常见软件版本号的形式是major.minor.maintenance.build:
1.项目初版本时,版本号可以为 0.1 或 0.1.0,也可以为 1.0 或 1.0.0,如果你为人很低调,我想你会选择那个主版本号为 0 的方式 ;
2.当项目在进行了局部修改或 bug 修正时,主版本号和子版本号都不变,修正版本号加 1;
3.当项目在原有的基础上增加了部分功能时,主版本号不变,子版本号加 1,修正版本号复位为 0,因而可以被忽略掉 ;
4.当项目在进行了重大修改或局部修正累积较多,而导致项目整体发生全局变化时,主版本号加 1;
5.另外,编译版本号一般是编译器在编译过程中自动生成的,我们只定义其格式,并不进行人为控制 .