java - 为什么 Build.VERSION.SDK_INT 显示的数字不正确?

标签 java android

我正在开发 Android 应用程序并希望支持 Android Q Beta。 所以我在我的像素 1 上尝试了 android Q beta。

但是,当我想检查特定的 SDK 版本时,它显示的数字不正确。

我已阅读 this对于 android Q,SDK_INT 应该是 10000(因为它与 constant_value CUR_DEVELOPMENT 相似)。

我尝试使用此代码调试以获取 SDK_INT 编号:

CustomLog.v("Build", "build int : " + Build.VERSION.SDK_INT + " | Curr Dev : " + Build.VERSION_CODES.CUR_DEVELOPMENT + " | Build baseOS: " + Build.VERSION.BASE_OS);
CustomLog.v("Build", "preview sdk int : " + Build.VERSION.PREVIEW_SDK_INT + " | Code Nanme : " + Build.VERSION.CODENAME + " | Version Q : " + Build.VERSION_CODES.Q); 

我期望输出Build.VERSION.SDK_INT是10000,但实际输出是28,这是android P的constant_value。

这是我的 logcat 中的日志:

Log Cat

这是设备的信息:

Pixel Information

最佳答案

这很正常 - 我猜在 Q 正式发布之前会一直这样。如果你想针对 Q 进行测试,你可以使用

BuildCompat#isAtLeastQ()

正如 CommonsWare 所指出的,当 API 应该最终确定时,实际值 (29) 应该会在 Q Beta 4 左右开始出现。

关于java - 为什么 Build.VERSION.SDK_INT 显示的数字不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55826857/

相关文章:

java - LoggerFactory.getLogger 无法解析为类型

java - Apache HttpClient 4.x 在上传大文件时表现异常?

android - Android权限checkSelfPermission不起作用

Android Studio gradle 应用程序 :compileDebugAidl Input length = 1

java - 在 java(android) 中将字符串转换为 IP 地址

java - 使用socket编程的聊天室

java - 一次从数组中拉出 10 个项目的最佳方法

android - 如何从头隐藏标题栏

java - 创建具有大量选项的位掩码

java - 在 localhost 启动 tomcat 服务器遇到 p‌r‌o‌b‌l‌e‌m