Android-SDK版本号表格

作者: 积木Blocks | 来源:发表于2016-07-02 20:24 被阅读17228次

    前言

    ~
    由于经常需要对SDK的版本进行不同适配,需要知道SDK的版本号,这里为了方便以后查看,以表格的形式记录下。仅仅记录4.0以上的Android版本,毕竟4.0以上的普及率已经达到了97.4%


    1.SDK版本表格

    ~ 基于Android 6.0(API Level 23)

    发布日期 API Level Android版本 VERSION_CODES 英文名称 中文名称
    2011.10 14 4.0 ICE_CREAM_SANDWICH IceCreamSandwich 冰淇淋三明治
    2011.12 15 4.0.3 ICE_CREAM_SANDWICH_MR1 IceCreamSandwich 冰淇淋三明治
    2012.06 16 4.1 JELLY_BEAN Jelly Bean 果冻豆
    2012.11 17 4.2 JELLY_BEAN_MR1 Jelly Bean 果冻豆
    2013.07 18 4.3 JELLY_BEAN_MR2 Jelly Bean 果冻豆
    2014.06 19 4.4 KITKAT KitKat 奇巧巧克力
    2014.09 20 4.4W KITKAT_WATCH KitKat Wear 奇巧巧克力-穿戴设备
    2014.11 21 5.0 L或者LOLLIPOP Lollipop 棒棒糖
    2015.03 22 5.1 LOLLIPOP_MR1 Lollipop 棒棒糖
    2015.10 23 6.0 M Marshmallow 棉花糖
    未发布 24 6.X N Nougat 牛轧糖

    如果需要更详细的NDK版本看这里:带NDK版本的SDK表格


    2.SDK版本号的用处

    ~

    2.1.获取版本号

    ~

    • 为什么要获取版本号
      有时候发布的APP出现异常,我们捕获异常,需要将异常携带该设备的SDK版本号上传到服务器,方便开发者进行异常分析。
    • 如何获取发布版本号以及API Level
       /**
         * 获取Android发布的版本
         */
        public static String getVersion() {
            return android.os.Build.VERSION.RELEASE;
        }
        /**
         * 获取SDK的API Level
         * @return
         */
        public static int getSDK() {
            return android.os.Build.VERSION.SDK_INT;
        }
    
    2.2.根据版本号来适配

    ~

    • 情况一.Android 6.0的权限系统:
         protected boolean hasPermission(String permission) {
            if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP_MR1)
                return (checkSelfPermission(permission) == PackageManager.PERMISSION_GRANTED);
            return true;
        }
    

    判断是否有权限,如果版本大于5.1才需要判断(即6.0以上),其他则不需要判断。Build.VERSION.SDK_INT是指当前设备的API Level。

    • 情况二.通知的部分属性:
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {    
    builder.setSubText("it is really basic");
    }
    

    通知的副标题需要API Level 16才能使用。


    3.后记

    • 由于版本的更新,该表格可能需要及时更新
    • 使用版本号的情况还有很多,这里只是一小部分,仅供参考。
    • 当然API Level也可以直接写成数字,不过不建议大家这样做,这里你可能记得16数字的含义,可是在其他地方使用数字你可能就不记得了,所以为了规范还是写VERSION_CODES吧,毕竟这样逼格也更高!
    if (Build.VERSION.SDK_INT >= 16) {    
    builder.setSubText("it is really basic");
    }
    

    相关文章

      网友评论

        本文标题:Android-SDK版本号表格

        本文链接:https://www.haomeiwen.com/subject/jrfqjttx.html