使用安卓版本代码的日期时间



Android的应用版本代码如下:http://developer.android.com/tools/publishing/versioning.html

一个整数值,表示相对于其他版本的应用程序代码版本。

他们继续建议从 1 开始并递增。

我不想管理撞一个数字并跟踪所有这些。我可以只使用 UTC 日期时间吗? 版本代码=20141106201953?

似乎这将满足谷歌的要求。 为什么这是一个坏主意?

编辑:几乎是 https://stackoverflow.com/a/24246191/670023 的欺骗

No. versionCode是一个int.Java的Integer最大值是2147483647。

问题是允许的最大版本号是 2100000000。请参阅:https://developer.android.com/studio/publish/versioning

但是,您可以获取日期/时间戳并以永远不会达到此数字的方式对其进行修改。例如,您可以将时间戳除以 10。该计划将一直有效到2635年。看到这篇文章的原始想法:https://medium.com/@esplo/using-an-unusual-timestamp-as-an-auto-generated-version-code-for-android-apps-f231b026edbd

正如其他答案提到的,versionCode int,它不够大,无法存储日期(您需要使用 long (。但是,为了获得当前日期作为 int ,您需要将从new Date().getTime()获得的long除以 1000,这意味着您可以每秒有一个新的versionCode;这对我来说已经足够了。

def date= new Date()
println ((int) (date.getTime() / 1000))

这种方法的缺点是,这将工作到18 Jan 2038,因为在该日期之后,这将不在int范围内

最新更新