我觉得它有两个不同的含义:
- 知道我们的应用程序工作的Android的最高版本,因此这不会改变构建过程中的任何内容,但只是用户设备的信息。
- 用于编译应用程序的SDK。
答案 0 :(得分:0)
目标SDK:
您设置了您测试过的应用最高的目标SDK。更重要的是,当您的应用使用较新(较高)SDK中提供的功能时,您可以设置您正在使用的目标> = SDK功能。 例如如果您打算使用仅在SDK 21中提供的动画,则必须设置Target SDK> = 21.
编译SDK: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
compileSdkVersion属性指定编译目标。这描述了应用程序的编译器版本。 另请注意文档中的编译指南:"默认情况下,只需要编译目标和构建工具的版本。这是通过compileSdkVersion和buildtoolsVersion属性完成的。编译目标与旧构建系统的project.properties文件中的target属性相同。可以为此新属性分配int(api级别)或与前一个目标属性具有相同值的字符串。"
答案 1 :(得分:0)
我已经提供了详细的答案here
供参考,引用android documentation
此属性通知系统您已针对目标版本进行了测试,系统不应启用任何兼容性行为来维持应用程序与目标版本的向前兼容性。该应用程序仍然可以在旧版本上运行(直到minSdkVersion)。
这意味着在您定义为targetSDK的版本之前,您的应用不会调用兼容性功能。