编译SdkVersion和targetSdkVersion有什么区别?

编译SdkVersion和targetSdkVersion有什么区别?

我看过文献资料但是我还是不知道有什么区别compileSdkVersiontargetSdkVersion是。

上面只写着:

这个compileSdkVersion属性指定编译目标。

那么,“编译目标”是什么呢?

我认为有两种可能的解释方法:

  1. compileSdkVersion

    是用于构建应用程序的编译器的版本,而

    targetSdkVersion

    “应用程序所针对的API级别”

    ..(如果是这样的话,我会假设

    compileSdkVersion

    必须大于或等于

    targetSdkVersion?

  2. 他们的意思是一样的。“编译目标”=“应用程序目标的API级别”
  3. 还有别的事吗?

我看到了这个问题以前有人问过,但唯一的答案只是引用了医生,这对我来说是不清楚的。


慕盖茨4494581
浏览 3716回答 3
3回答

白衣非少年

编译SdkVersion这个compileSdkVersion是应用程序编译所针对的API的版本。这意味着您可以使用包含在API版本中的AndroidAPI特性(当然,也可以使用以前的所有版本)。如果您尝试使用api 16功能,但是compileSdkVersion到15,您将得到一个编译错误。如果你compileSdkVersion对于16,您仍然可以在API 15设备上运行应用程序,只要应用程序的执行路径不试图调用API 16特有的任何API。Target SdkVersion这个targetSdkVersion与你的应用程序是如何编译或者你可以使用什么API无关。这个targetSdkVersion应该表示您已经在您指定的版本上测试了应用程序(大概包括该版本)。这更像是一个认证或签署,你是给Android操作系统作为一个提示,它应该如何处理您的应用程序的操作系统功能。例如,文献各国:例如,将此值设置为“11”或更高允许系统在运行Android3.0或更高版本时将新的默认主题(HOLO)应用于应用程序.安卓操作系统,在运行时,可以根据此值在操作系统上下文中更改应用程序的样式化或其他执行方式。还有一些其他已知的例子会受到这个值的影响,而且这个列表可能只会随着时间的推移而增加。出于所有实际目的,大多数应用程序都希望设置targetSdkVersion到最新发布的API版本。这将确保你的应用程序在最新的Android设备上看起来尽可能好。如果不指定targetSdkVersion,它默认为minSdkVersion.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android
Java