zoukankan      html  css  js  c++  java
  • minSdkVersion、compileSdkVersion和targetSdkVersion

    从Eclipse转到AS以后,一直用着最新的各种版本号,对于这三个参数还没有仔细研究过,正好最近对三年前的一个APP进行升级时才发现这里面还是有区别的

    1、minSdkVersion:没啥好说的,就是APP能运行的最低版本,小于该版本号的则无法运行

    2、compileSdkVersion :告诉gradle使用哪个版本的SDK来编译你的APP,

    • 使用最新的API,则必须使用对应版本的sdk version
    • 引用了Support库,则Support必须使用相应的版本,例如 compileSdkVersion 是24,则Support使用support:name:24.x.x

    3、targetSdkVersion:这个比较复杂,用谷歌的话说就是Android 系统提供前向兼容的主要手段,既然是兼容那就还是分情况说

    • 运行环境 < targetSdkVersion,这时候表示运行于低版本的环境下,系统选择运行环境的方法来实现,所以设置了targetSdkVersion以后,对应的minSdkVersion下应该整体测试一遍保证其兼容性
    • 运行环境 = targetSdkVersion,这时候表示运行于最佳环境下,系统啥也不干
    • 运行环境 > targetSdkVersion,这时候表示运行于高版本环境下,系统使用targetSdkVersion对应的方法来确保高版本环境下APP的兼容性

    从上面来看,最重要的应该是minSdkVersion和targetSdkVersion了,他们对应的关系应该是

    minSdkVersion  <=  targetSdkVersion <= compileSdkVersion

     

    compileSdkVersion

  • 相关阅读:
    离线安装 Cloudera Manager 5 和 CDH5.10
    Sersync+Rsync实现触发式文件同步
    Azkaban3.x集群部署(multiple executor mode)
    内置函数
    递归
    嵌套函数,匿名函数,高阶函数
    局部变量,全局变量,作用域
    函数的介绍
    文件处理
    第二模块-三元运算
  • 原文地址:https://www.cnblogs.com/hack132/p/7436408.html
Copyright © 2011-2022 走看看