如何确定Android构建的修订版本号?

3

我知道如何获取API级别,即android.os.Build.VERSION.SDK_INT,但每个级别的发布也有几个修订版本,例如对于2.1,有修订版1和2。我如何确定构建的修订版本?

我想知道这个原因是因为我有一个解决Android 2.1(和2.2)中错误的解决方法,而且一旦相应的错误被修复,这个解决方法就会失效。所以现在我处于一个奇怪的位置,希望这个错误不会被修复(至少在我找到上述问题的答案之前不会)。

1个回答

1

我不确定您指的是哪个版本,但您在清单文件中设置的版本可以使用以下代码获取:

paramContext 是您的 Context 对象

    PackageManager localPackageManager = paramContext.getPackageManager();
    PackageInfo localPackageInfo = localPackageManager.getPackageInfo(paramContext.getPackageName(), 0);
    String version = localPackageInfo.versionName;

如果您想提取构建版本,请使用以下代码:

String version = Build.VERSION.RELEASE;

我猜你只看了标题,而没有看实际问题?我指的是Android版本和修订版。你回答的第一部分对我没有帮助。你指向的RELEASE字符串包含发布名称,并且基本上没有记录。所以谢谢你的回复,但我的问题仍然没有得到解答。 - hermo
你有没有在抱怨之前测试过我的答案?这不是我的问题,它没有被很好地记录下来。 我只为你安装了Android 2.1的修订版1,然后Build.VERSION.RELEASE返回2.1。然后我安装了Android 2.1的修订版2,然后Build.VERSION.RELEASE返回:2.1-update1。 - anon
编辑/添加:因此,应该清楚地区分同一版本的不同修订版本。 - anon
抱歉如果我听起来有点不高兴,我并不是想抱怨你的回答,但它的第一部分与问题无关。我同意这应该是可能的,但问题仍然是:如何做到这一点。 - hermo
RELEASE字符串未经记录(顺便说一下,这不是你的错:)),这意味着我不知道它在即将推出的版本中会有什么值,我只能猜测。而要知道它在现有版本中的值,我必须检查所有版本。作为软件开发人员,我认为这不是可接受的解决方案,因此我会再等一段时间,希望有更好的答案,或者有人能说服我没有其他解决方案。干杯。 - hermo
好的,那我希望有人能找到更好的解决方案。我以为你只关心2.1和2.2。 - anon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接