android sdk版本
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 工具。
经过上面的深入了解后,总结以下:
- 当AS提示Gradle或者Android SDK更新后,大胆更新吧,先全部下载下来
- 更新完后,直接将compileSdkVersion、buildToolsVersion修改为最新的版本号,放心的更改,该完后如果有废弃API编译器还会给你提示。
- minSdkVersion 和 targetSdkVersion 要慎重修改。除非核心代码中会提高minSdkVersion的版本号,其他的建议运行时判断版本号。targetSdkVersion的修改要注意代码是否适应更新后的版本号,要测试完全,最典型的例子就是23版本的运行时权限问题的处理。如果targetSdkVersion提升到了23,如果代码没有进行运行时权限判断会直接崩溃。
下面这个崩溃 是 match.group() 函数在 android小于 o 版本平台上崩溃了, 但是在 android 大于o 版本平台上没有崩溃
android sdk版本相关推荐
- Android SDK版本和ADT版本
Android早期的版本号有点"混乱",比如Android 2.2对应的ADT版本为ADT-0.9.9 而Android 2.3对应的的ADT版本则突然"跃迁" ...
- android sdk版本兼容,Android 版本兼容
常用命令 查看一个手机的cpu架构 adb shell cat /proc/cpuinfo 查看手机的SDK版本 adb shell getprop ro.build.version.release ...
- Android SDK版本以及对应的平台版本、版本名称
平台版本 SDK版本 版本名称 AndroidSv2 Preview ...
- sdk版本对手机运行有什么影响 android,Android sdk版本以及兼容性问题
android:minSdkVersion-- 此属性决定你的应用能兼容的最低的系统版本,一盘情况是必须设置此属性. android:targetSdkVersion -- 此属性说明你当前的应用是针 ...
- Android SDK版本和API Level对照表(最新最全)
在开发时我们会经常用到兼容api版本,难保可用把全部都记得住,这里有最快捷实用的方法进行查看:打开Android Studio ,然后点击SDK Manneger ,参考下图示例: 下面列出最全对照表 ...
- android 各个版本代表图标,使用不同的Android SDK版本的不同图标
您可以根据平台版本选择主题,如 Styles and Themes开发指南中所述.在你的res / values / styles.xml中定义一个样式,如下所示: ... 然后在res / valu ...
- android sdk版本8.0,把targetSdkVersion设置为26(Android 8.0)需要注意的地方
前言 由于项目要上应用宝,必须设置targetSdk>=26,所以把以前项目的targetSdk=22的改成了26,要开始处理Android 6.0的动态权限,7.0的FileProvider, ...
- android 高德地图定位圈,android ------ 实现高德定位并获取相应信息 ( 最新版高德SDK 和 Android SDK版本)...
Android开发项目时常常会遇到定位这个功能, 很久以前写过一篇了,官方也更新了一些东西,我也更新下 以前使用的是jar包 导入来实现高德定位 现在通过Gradle集成SDK(也可以使用jar包) ...
- android高德定位sdk,android ------ 实现高德定位并获取相应信息 ( 最新版高德SDK 和 Android SDK版本)...
/*** * 定位*/ private voidshowLocation() {try{ mlocationClient= new AMapLocationClient(this); mLocatio ...
最新文章
- 关于React面试题汇总
- android资源目录---assets与res/raw区别
- C#中Math的使用总结
- leetcood学习笔记-111-二叉树的最小深度
- Docker-Compose快速部署开源网盘系统Tank蓝眼网盘系统
- C++虚调用及其调用的具体形式
- 鸿蒙OS的指纹储存在哪里,鸿蒙OS发布以后,我们去哪里学习?
- Codeforces Round #467 (Div. 1): B. Sleepy Game(BFS+有向图判环)
- 捷联惯导系统学习7.2(捷联惯导精对准 )
- 分享几个软件测试逻辑思维和综合面试题【含答案】
- Windows右键菜单项管理讲解(RightMenuMgr)
- java段子_Java程序员的内涵段子
- Rivaple 江枫 MC服务器文档(创新生存部分)
- Autosar Nm机制
- ssm毕设项目基于的少儿编程学习系统2lsiy(java+VUE+Mybatis+Maven+Mysql+sprnig)
- uniapp App端 echarts 设置tooltip的formatter不生效问题及解决办法
- 漫谈TCP High Speed与TCP Africa(TCP China)
- 让代码审查扮演更好的角色
- 拼多多打造爆款的具体步骤有哪些?
- CAD控件:网页浏览DWG文件的CAD插件