Android Studio调用系统的代码中Build.VERSION.SDK_INT >= Build.VERSION_CODES.xxx

Posted 彬sir哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio调用系统的代码中Build.VERSION.SDK_INT >= Build.VERSION_CODES.xxx相关的知识,希望对你有一定的参考价值。

常用来判断sdk版本如下

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)  
            //包含新的api的代码块
         else  
            //包含旧的api的代码块
        

这里的Build.VERSION.SDK_INT是一个静态变量,代表运行该应用的手机系统的SDK版本,这个值是通过native方法,在Build类加载时获得;Build.VERSION_CODES.M是android sdk中的一个常量,代表的就是不同的SDK版本号

Build.VERSION.SDK_INT,代码:

 public static final int SDK_INT = SystemProperties.getInt("ro.build.version.sdk", 0);

Build.VERSION_CODES.M的M版本号到底是多少,后面的版本号,可以鼠标放到上面+ctrl按键就可以看到如下图:

原来M版本号是23

从源码里面看到当前有所的sdk版本号:

public static class VERSION_CODES 
       /**
         * October 2008: The original, first, version of Android.  Yay!
         */
        public static final int BASE = 1;

        /**
         * February 2009: First Android update, officially called 1.1.
         */
        public static final int BASE_1_1 = 2;

        /**
         * May 2009: Android 1.5.
         */
        public static final int CUPCAKE = 3;

                        ......
                        
        public static final int ECLAIR = 5;

        /**
         * December 2009: Android 2.0.1
         */
        public static final int ECLAIR_0_1 = 6;

        /**
         * January 2010: Android 2.1
         */
        public static final int ECLAIR_MR1 = 7;

        /**
         * June 2010: Android 2.2
         */
        public static final int FROYO = 8;
                        ......
        public static final int M = 23;
                        ......
        public static final int N = 24;

        /**
         * N MR1: Nougat++. For more information about this release, see
         * <a href="/about/versions/nougat/android-7.1">Android 7.1 for
         * Developers</a>.
         */
        public static final int N_MR1 = 25;
                        .....
        public static final int O = 26;
                         ......
        public static final int O_MR1 = 27;

                         ......
        public static final int P = 28;

        /**
         * Q.
         * <p>
         * <em>Why? Why, to give you a taste of your future, a preview of things
         * to come. Con permiso, Capitan. The hall is rented, the orchestra
         * engaged. It's now time to see if you can dance.</em>
         */
        public static final int Q = 29;

Android系统版本与API级别对应表

以上是关于Android Studio调用系统的代码中Build.VERSION.SDK_INT >= Build.VERSION_CODES.xxx的主要内容,如果未能解决你的问题,请参考以下文章

错误记录Android Studio 中 Gradle 面板 Task 不显示问题 ( 菜单栏 / File / Settings / Experimental 取消勾选 Do not bui )

如何在Android Studio中进行发布版本时删除System.out println()?

android studio怎么调用相机

在 Android Studio 1.3.1 中多次导入库项目导致库消失

如何在 Android Studio 项目中将库添加到 Gradle 构建?

android studio——Could not find method externalNativeBuild()