专栏首页指尖下的AndroidAndroid中compileSdkVersion、buildToolsVersion、minSdkVersion和targetSdkVersion的含义作用

Android中compileSdkVersion、buildToolsVersion、minSdkVersion和targetSdkVersion的含义作用

AndroidStudio中的build.gradle中包含了这些值,compileSdkVersion和minSdkVersion还比较通俗易懂,compileSdkVersion表示当前项目的编译版本,即你想让AndroidStudio以什么SDK版本去编译你的项目,minSdkVersion表示当前项目支持的最低安卓系统版本,buildToolsVersion则是指构建工具的SDK版本,也就是AndroidStudio中设置的AndroidSDK版本,buildToolsVersion要高于compileSdkVersion版本,这个很好理解,如果编译版本高于AndroidStudio的SDK版本,那AndroidStudio怎么给项目编译呢?targetSdkVersion的意思是当前app的目标sdk版本,可以理解为当前app在这个版本是比较稳定的,针对这个版本所开发的,是安卓提供的前向兼容的主要手段,它的作用就是当targetSdkVersion为20的app运行在系统版本号高于20的手机系统中,app所执行的旧版本api在高版本可能不一样了,但是安卓为了兼容在系统层会读取当前应用的targetSdkVersion,当targetSdkVersion版本号低于当前版本就会执行旧版本的api,不会导致由于系统的原因而让app运行失常。 compileSdkVersion和buildToolsVersion作用于项目的编译,minSdkVersion和targetSdkVersion控制项目的运行版本。一般来说compileSdkVersion设置为最新的SDK版本比较好,compileSdkVersion的作用就是可以让我们在编码的过程中编译器以最新的SDK的api去要求我们的编码,它会有最新的一些提醒和异常,compileSdkVersion版本调高还有一个好处就是当我们的项目有其他第三方sdk或者supperLib时compileSdkVersion低于这些库的编译版本时就无法编译打包。targetSdkVersion也是一样设置为最新的版本最好,因为不需要让系统对app进行前向兼容了,同时也可以使用高版本的一些新特性。像我们在开发过程中如果需要用到高版本的api但是我们又不想去改动项目中的代码时可以把compileSdkVersion版本调到新版本,targetSdkVersion保持不变就可以,编译版本让你可以调用高版本的api,但是在高版本运行时旧的api由于targetSdkVersion的原因而正常运行。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 安卓跨进程通信之Aidl教程详解(一)

    进程通信肯定有传输数据和接受并返还数据,先新建两个项目,一个为AidlDemo1作为Service,另一个为AidlDemo2作为Client

    萬物並作吾以觀復
  • The type org.apache.http.NameValuePair cannot be resolved. It is indirectly referenced from requi...

    萬物並作吾以觀復
  • Java自定义注解在安卓开发中的简单运用

    java中有很多框架都用到了注解包括java的Api也是,想一些网络框架的@GTE,@POST,@PATH等等,java中的@Override注解是可以被继承的...

    萬物並作吾以觀復
  • Docker之打包镜像 原

        我的hostA上有nginx镜像, 但是hostB上没有, 在hostB上下载镜像很慢, 这种情况下, 可以用docker的save和load来解决.

    克虏伯
  • 超多,超快,超强!百度飞桨发布工业级图像分割利器PaddleSeg

    飞桨的新产品 PaddleSeg 全新上线,重点针对图像分割领域,面向开发者提供了完备且易用的工业级分割模型库。

    机器之心
  • 【TypeScript 演化史 — 第十章】更好的空值检查 和 混合类

    在TypeScript 2.2中,空检查得到了进一步的改进。TypeScript 现在将带有可空操作数的表达式标记为编译时错误。

    Javanx
  • Tushare test

    hankleo
  • 教你利用Python把图片转字符画!代码哆啦A梦你见过嘛?

    图片转字符画的关键是把图片的灰度值与自定义的字符集之间建立映射关系,不同区间的灰度值对应不同的字符,之后将图片每一个像素对应的字符打印出来,就是我们要的字符画。...

    诸葛青云
  • 如何「灰度发布」你的小程序?| 小程序问答 #37

    灰度发布的意思是:分阶段向一定比例的用户发布新版,用于对比新旧版本的表现、找出新版本中潜在的问题。

    知晓君
  • ubuntu 安装VmTool

     VM tools 是Vmware的一组工具。主要用于虚拟主机显示优化与调整,另外还可以方便虚拟主机与本机的交互,如允许共享文件夹,甚至可以直接从本机向虚拟主机...

    lpxxn

扫码关注云+社区

领取腾讯云代金券