Android中compileSdkVersion、minSdkVersion、targetSdkVersion和buildTools简要说明

Android中compileSdkVersion、minSdkVersion、targetSdkVersion和buildTools简要说明,第1张

#.compileSdkVersion, minSdkVersion 和 targetSdkVersion 1.minSdkVersion:应用兼容的SDK API最低版本,若手机系统低于minSdkVersion将无法安装;                               AndroidStudio中写代码时调用的API,若在兼容的版本区间中部分版本不存在,则开发者需要做版本判断来做兼容性处理,否则AndroidStudio会提示错误的,没法正常通过编译。 2.compileSdkVersion:选择用来编译的SDK版本,只影响编译过程,完全不影响实际运行过程。         实际运行中,调用哪个版本的API代码取决于手机的系统版本 以及 targetSdkVersion。 3. targetSdkVersion:表明APP最高支持到哪个系统版本的特性,即使App中调用了更高版本系统新特性相关的API,若不更新targetSdkVersion,在更高版本系统的手机上运行时也不会执行这些API。     因为App在手机上运行调用API时,Android系统内部有兼容性处理,同一个API, 会根据APP的targetSdkVersion来判断调用哪个版本的API(不同版本的API有可能内部逻辑不同):             若当前系统版本 <= targetSdkVersion,则调用当前系统版本API;             若当前系统版本 > targetSdkVersion,则调用低版本targetSdkVersion的API;(Android系统是向前兼容的,高版本兼容低版本)    若app中调用了只有targetSdkVersion以上版本才有的API, 在高版本系统手机上实际运行时,应该并不会实际调用。    所以,要想使用新的特性和新的API,就需要更新targetSdkVersion。 4.综上: 4.1 应选择compileSdkVersion>=targetSdkVersion,否则编译用的SDK未必包含targetSdkVersion及以下支持的API,有可能会编译不通过。而且一般版本越高的SDK编译和构建工具,一般也优化的越好,所以compileSdkVersion基本上可以选最新的。 4.2 显然,targetSdkVersion >= minSdkVersion,这是傻子都能看出来的。 #. buildTools Tools Platform-tools     buildTools Tools Platform-tools 3 个东西其实都是开发工具,即它的版本更新并不会影响运行的 APP ,只是工具上的升级。     在 build.gradle 中的 buildToolsVersion 版本号是Android构建工具 buildTools API-LEVEL ,这个值 要大于等于 compileSdkVersion,确保不比编译用的SDK版本更旧,因为高版本 buildTools 支持低版本SDK编译出的程序,反过来不一定总是成立     因此,这三个工具的版本号,一般都选择最新的。 参考剪藏: Android targetSdkVersion了解一下 - 简书                   关于Android SDK里的compileSdk、minSdk、targetSdk、buildTools、Tools、Platform-tools

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/992744.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存