1:sdk 版本对应对应平台版本

2 :compileSdk、minSdk、targetSdk到概念 (https://juejin.im/post/6844903497331130376)

compileSdkVersion 告诉 Gradle 用哪个 Android SDK 版本编译你的应用。使用任何新添加的 API 就需要使用对应 Level 的 Android SDK (这个sdk 一般可以设置成最新的,这样你在写代码的时候,就可以应用最新的api

注意:在我们需要使用一些最新的 support libary 包时,就需要使用最新的 编译sdk (例如,要使用 23.1.1 版本的 Support Library ,compileSdkVersion 就必需至少是 23 (大版本号要一致!)

minSdkVersion  

如果 compileSdkVersion 设置为可用的最新 API,那么 minSdkVersion 则是应用可以运行的最低要求。minSdkVersion 是 Google Play 商店用来判断用户设备是否可以安装某个应用的标志之一。

注意 : 在开发时 minSdkVersion 也起到一个重要角色:lint 默认会在项目中运行,它在你使用了高于 minSdkVersion 的 API 时会警告你,帮你避免调用不存在的 API 的运行时问题 (所以,当某个api 你不知道是在哪个版本支持,但实际上这个api又是在高于你设置的minSdkVersion 才体现,那么as 就会提醒你,避免在实际运行时出现问题

另外 决定使用minSdkVersion版本号,你可能需要参考 Android 机型分布统计

targetSdkVersion

三个版本号中最有趣的就是 targetSdkVersion 了。 targetSdkVersion 是 Android 提供向前兼容的主要依据,在应用的 targetSdkVersion 没有更新之前系统不会应用最新的行为变化。这允许你在适应新的行为变化之前就可以使用新的 API (因为你已经更新了 compileSdkVersion 不是吗?)。(请记住上面这句话,是向前兼容,比如你的应用是 targetSdk 是28 ,但是用户手机没有升级到 对应28平台,你的应该运行在这个手机上时,不会有28 的行为功能,但是你的手机升级到28 之后,你的应用运在次运行在这个手机上时,就会有28 的行为功能 (比如 android 的暗夜模式是 sdk = 28 才支持 android9.0 )

所以将 target 更新为最新的 SDK 是所有应用都应该优先处理的事情。但这不意味着你一定要使用所有新引入的功能,也不意味着你可以不做任何测试就盲目地更新 targetSdkVersion ,请一定在更新 targetSdkVersion 之前做测试!你的用户会感谢你的。

3 buildTools、Tools、Platform-tools

buildTools、Tools、Platform-tools这3个东西其实都是开发工具,即它的版本更新并不会影响运行的APP,只是工具上的升级

在 build.gradle 中的 buildToolsVersion 版本号一般是API-LEVEL.0.0,其中API-LEVEL要大于等于compileSdkVersion。

在前面的compileSdkVersion解释中建议选用最新的SDK Version,so,buildToolsVersion也建议选择最新的版本号。build.gradle中这2个的修改可以让你体验最新的API和工具。

至于Tools、Platform-tools这2个东西,直接更新最新吧。Only 工具。

经过上面的深入了解后,总结以下:

  1. 当AS提示Gradle或者Android SDK更新后,大胆更新吧,先全部下载下来
  2. 更新完后,直接将compileSdkVersion、buildToolsVersion修改为最新的版本号,放心的更改,该完后如果有废弃API编译器还会给你提示。
  3. minSdkVersion 和 targetSdkVersion 要慎重修改。除非核心代码中会提高minSdkVersion的版本号,其他的建议运行时判断版本号。targetSdkVersion的修改要注意代码是否适应更新后的版本号,要测试完全,最典型的例子就是23版本的运行时权限问题的处理。如果targetSdkVersion提升到了23,如果代码没有进行运行时权限判断会直接崩溃。

下面这个崩溃 是 match.group() 函数在 android小于 o 版本平台上崩溃了, 但是在  android 大于o 版本平台上没有崩溃

android sdk版本相关推荐

  1. Android SDK版本和ADT版本

    Android早期的版本号有点"混乱",比如Android 2.2对应的ADT版本为ADT-0.9.9 而Android 2.3对应的的ADT版本则突然"跃迁" ...

  2. android sdk版本兼容,Android 版本兼容

    常用命令 查看一个手机的cpu架构 adb shell cat /proc/cpuinfo 查看手机的SDK版本 adb shell getprop ro.build.version.release ...

  3. Android SDK版本以及对应的平台版本、版本名称

    平台版本                               SDK版本                       版本名称 AndroidSv2 Preview               ...

  4. sdk版本对手机运行有什么影响 android,Android sdk版本以及兼容性问题

    android:minSdkVersion-- 此属性决定你的应用能兼容的最低的系统版本,一盘情况是必须设置此属性. android:targetSdkVersion -- 此属性说明你当前的应用是针 ...

  5. Android SDK版本和API Level对照表(最新最全)

    在开发时我们会经常用到兼容api版本,难保可用把全部都记得住,这里有最快捷实用的方法进行查看:打开Android Studio ,然后点击SDK Manneger ,参考下图示例: 下面列出最全对照表 ...

  6. android 各个版本代表图标,使用不同的Android SDK版本的不同图标

    您可以根据平台版本选择主题,如 Styles and Themes开发指南中所述.在你的res / values / styles.xml中定义一个样式,如下所示: ... 然后在res / valu ...

  7. android sdk版本8.0,把targetSdkVersion设置为26(Android 8.0)需要注意的地方

    前言 由于项目要上应用宝,必须设置targetSdk>=26,所以把以前项目的targetSdk=22的改成了26,要开始处理Android 6.0的动态权限,7.0的FileProvider, ...

  8. android 高德地图定位圈,android ------ 实现高德定位并获取相应信息 ( 最新版高德SDK 和 Android SDK版本)...

    Android开发项目时常常会遇到定位这个功能, 很久以前写过一篇了,官方也更新了一些东西,我也更新下 以前使用的是jar包 导入来实现高德定位 现在通过Gradle集成SDK(也可以使用jar包) ...

  9. android高德定位sdk,android ------ 实现高德定位并获取相应信息 ( 最新版高德SDK 和 Android SDK版本)...

    /*** * 定位*/ private voidshowLocation() {try{ mlocationClient= new AMapLocationClient(this); mLocatio ...

最新文章

  1. 关于React面试题汇总
  2. android资源目录---assets与res/raw区别
  3. C#中Math的使用总结
  4. leetcood学习笔记-111-二叉树的最小深度
  5. Docker-Compose快速部署开源网盘系统Tank蓝眼网盘系统
  6. C++虚调用及其调用的具体形式
  7. 鸿蒙OS的指纹储存在哪里,鸿蒙OS发布以后,我们去哪里学习?
  8. Codeforces Round #467 (Div. 1): B. Sleepy Game(BFS+有向图判环)
  9. 捷联惯导系统学习7.2(捷联惯导精对准 )
  10. 分享几个软件测试逻辑思维和综合面试题【含答案】
  11. Windows右键菜单项管理讲解(RightMenuMgr)
  12. java段子_Java程序员的内涵段子
  13. Rivaple 江枫 MC服务器文档(创新生存部分)
  14. Autosar Nm机制
  15. ssm毕设项目基于的少儿编程学习系统2lsiy(java+VUE+Mybatis+Maven+Mysql+sprnig)
  16. uniapp App端 echarts 设置tooltip的formatter不生效问题及解决办法
  17. 漫谈TCP High Speed与TCP Africa(TCP China)
  18. 让代码审查扮演更好的角色
  19. 拼多多打造爆款的具体步骤有哪些?
  20. CAD控件:网页浏览DWG文件的CAD插件

热门文章

  1. 综述:微生物群落的生物技术潜力及应用
  2. 利用Visio绘制数据流图
  3. Intel Xeon Platinum 8269CY(Cascade Lake)处理器性能评测
  4. marquee图片无缝拼接滚动
  5. Recurrent Neural Networks 循环神经网络
  6. Linux0.11内核源码分析(bootsect.s)
  7. html 滚动图片代码
  8. el-table-column动态循环渲染列项名称/label值
  9. mysql count 多列_COUNT( )函数对多列数据计数的实例
  10. 微信小程序dialog使用