为什么Android SDK版本2.1在其版本代码中包含字母表

时间:2011-07-07 05:27:32

标签: android

我发现Android有SDK版本1.5,1.6,2.2,3.1 ..所有这些版本都是组合的。和数字。但是当我在这种情况下找到SDK版本2.1-update1时,版本代码也包含字母表(update1)。为什么会那样?

2 个答案:

答案 0 :(得分:2)

以下是Build.VERSION提供的版本信息,从最有趣到最少:

VERSION.SDK_INT是“SDK版本”或“API版本”。这是准确表示您运行的平台上可用的API的数字;例如,您在文档中看到的用于过滤我们的新API的数字。可能的值在http://developer.android.com/reference/android/os/Build.VERSION_CODES.html描述,并且它是一个单调递增的数字,因此如果您想知道在API级别N引入的某些API是否可用,您可以使用“if(Build.VERSION.SDK_INT> = N)“。

VERSION.SDK是SDK版本的原始表示形式,但是作为一个字符串,对于不常使用的应用程序来说并不方便。如果您确实需要在SDK_INT之前运行旧版本的平台,那么您可以使用“Integer.parseInt(Build.VERSION.SDK)”获得相同的数字;通过查看它们在源代码https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/os/Build.java

中的初始化方式,您可以看到它们是相同的

VERSION.RELEASE是向用户显示的字符串,用于告诉他们平台版本。这不是应由程序解析的。在这里您可以找到“3.1”或“2.1-update1”之类的内容。同样,这是为了向用户显示;你不应该试图在你的代码中解释它。它告诉用户他们的设备正在运行的平台的实际核心版本。

VERSION.INCREMENTAL是一个标记设备实际软件版本的任意字符串。该字符串的格式因制造商而异。它也可以显示给用户,虽然对他们没有意义 - 只有当他们想知道他们的软件是否是他们正在寻找的特定内部版本号时才有用。

答案 1 :(得分:0)

你唱的是Build.VERSION.SDK这是一个被称为平台版本的String,而不是android版本的数字标识符(通常称为API级别)。差值为1.5 = 3,1.6 = 4,......,3.1 = 12

Build.VERSION.SDK_INT已添加到android 1.6(4)中,是获取版本数字标识符的方法。因此,如果您想了解1.5之前的版本,则无法使用它。您可以通过反射调用它或使用minSdkVersion标记(见下文)以确保它不在早期设备上使用。

API级别是您在uses-sdk标记中使用的,例如对于Android 1.6,这会将您应用的可见性限制为1.6及更高

<uses-sdk android:minSdkVersion="4" />