应用的版本号通常叫 versionName ,这个就是我们通常说的 1.0.1 ,5.0.1 等等,
你说的同一个版本号就是这个。

一般来说将版本号,按照 . 分成三个部分,依次判断哪个版本高低即可。但有些公司就不按照常理出牌,有些比较奇葩的,会这么写 1.0.1-new, 1.0.110-tv. 这导致没办法通过 versionName 来精准判断当前版本的高低。

为了应对这种情况,应用还有一个真正的版本号,叫 versionCode , 这个才是真正决定应用商店判断要不要升级的依据。这是一个整数,当你手机里的应用比商店的要低,就会提示你更新。

那为什么公司在更新了 versionCode 的时候,不升级 versionName 呢?

因为 versionName 是一个版本,这个版本是公司在某个时间内规定的,比如 5 月就是发 1.0.1 版本的,这个时候你发现了一个致命的问题,一定要更新应用,就会紧急再发一个更新的版本,这个版本仍然叫 1.0.1,但里面的 versionCode 已经变了。