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

时间:2019-04-24 09:33:11

标签: 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

1 个答案:

答案 0 :(得分:4)

那是正常的-我想这是直到Q正式发布之前的方式。如果要对Q进行测试,可以使用

BuildCompat#isAtLeastQ()

正如CommonsWare所指出的那样,当API应该最终确定时,真实值(29)应该开始出现在Q Beta 4附近。