compileSdkVersion是编译时使用的 Android SDK 版本,它指定了你的应用程序编译时要使用的 Android SDK 版本。而targetSdkVersion是目标 SDK 版本,它指定了你的应用程序在运行时所要求的最低 SDK 版本。compileSdkVersion是编译时的 SDK 版本,而targetSdkVersion是运行时的 SDK 版本。在编译时,会依赖compileSdkVersion...
高版本手机兼容:targetSdkVersion=20,当运行在系统10.0,SDK_INT=29的设备上时,调用SDK 20的版本API,即使当前手机的特性已经改变,但是还是运行SDK 20的API。 低版本手机兼容:targetSdkVersion=29,当运行在系统8.1,SDK_INT=27的设备上时,调用SDK 29的版本API,用到新API要做好兼容: if(Build.VERSION.SDK_INT < ...
compileSdkVersion 属性指定编译目标。 那么,什么是“编译目标”? 我看到了两种可能的解释方式: compileSdkVersion 是用于构建应用程序的编译器版本,而 targetSdkVersion 是“应用程序目标的 API 级别”。 (如果是这种情况,我会假设 compileSdkVersion 必须大于或等于 targetSdkVersion? 他们的意思是一样的。 “编译目...
这种直觉是合理的,如果 compileSdkVersion 是你的最大值,minSdkVersion 是最小值,那么最大值必需至少和最小值一样大且 target 必需在二者之间。理想上,在稳定状态下三者的关系应该更像这样: minSdkVersion(lowest)<= targetSdkVersion == compileSdkVersion(latest) 用较低的 minSdkVersion 来覆盖最大的人群,用...
compileSdkVersion代表着编译的时候,会采用该api的规范进行代码检查和警告,但是并不会编译进apk中。 targetSdkVersion代表着目标版本,在编译的时候会将该版本的api编译进apk中。 minSdkVersion 代表着最低版本,在编译的时候兼容到该参数指定最低版本api。
*/public int targetSdkVersion; 大致意思就是:当我们更新targetSdkVersion时,比如从26(Android 8.0)变更到29(Android 9.0),意味着我们对26~29之间的系统兼容性进行了充分的测试,因此每当我们变更targerSdkVersion时,要充分测试其系统兼容性。 也许你会说,那我可以不更新targetSdkVersion值嘛,一劳永逸,理论上没啥问...
学习了
二.compileSdkVersion和targetSdkVersion的关系 即使compileSdkVersion和targetSdkVersion的含义完全不同,它们显然也不是独立的。 简单地说,targetSdkVersion不能高于compileSdkVersion。理想情况下,compileSdkVersion和targetSdkVersion应该相等,并且都指向最新的安卓版本。
targetSdkVersion的意思是当前app的目标sdk版本,可以理解为当前app在这个版本是比较稳定的,针对这个版本所开发的,是安卓提供的前向兼容的主要手段,它的作用就是当targetSdkVersion为20的app运行在系统版本号高于20的手机系统中,app所执行的旧版本api在高版本可能不一样了,但是安卓为了兼容在系统层会读取当前应用的...
1.compileSdkVersion,minSdkVersion,targetSdkVersion作用和如何选择关系.2.Support Library 包的选择,v4,v7等包到底是干啥的。3.我们到底该如何选择这些东西运行项目的时候才能正确运行。 下面我将围绕这些问题和疑问来给大家一步步讲解他们的关系。 一丶compileSdkVersion,miniSdkVersion,targetSdkVersion的作用 : ...