Android compileSdkVersion和targetSdkVersion之间有什么区别?
我已经用Gradle查看了for building,但我仍然不确定Android compileSdkVersion和targetSdkVersion之间有什么区别?,android,sdk,android-gradle-plugin,android-build,Android,Sdk,Android Gradle Plugin,Android Build,我已经用Gradle查看了for building,但我仍然不确定compileSdkVersion和targetSdkVersion之间的区别 它所说的是: compileSdkVersion属性指定编译目标 那么,"编译目标"是什么? 我认为有两种可能的解释方式: compileSdkVersion是构建应用程序时使用的编译器版本,而targetSdkVersion是最新版本。(如果是这种情况,我假设compileSdkVersion必须大于或等于targetSdkVersion 它们的意思
compileSdkVersion
和targetSdkVersion
之间的区别
它所说的是:
compileSdkVersion
属性指定编译目标
那么,"编译目标"是什么?
我认为有两种可能的解释方式:
compileSdkVersion
是构建应用程序时使用的编译器版本,而targetSdkVersion
是最新版本。(如果是这种情况,我假设compileSdkVersion
必须大于或等于targetSdkVersion
compileSdkVersion
是应用程序编译所依据的API的版本。这意味着您可以使用该版本API中包含的Android API功能(当然也包括所有以前的版本)。如果尝试使用API 16功能,但将compileSdkVersion
设置为15,则会出现编译错误。如果将compileSdkVersion
设置为16,则只要应用的执行路径不尝试调用API 16特定的任何API,则仍可在API 15设备上运行应用
targetSdkVersion
targetSdkVersion
与您的应用程序的编译方式或您可以使用的API无关。targetSdkVersion
应该表明您已经在上测试了您的应用程序(可能在上一个版本之前,包括上一个版本)你指定的版本。这更像是一个认证或签准,你在给Android操作系统一个提示,说明它应该如何处理你的应用程序的操作系统功能
例如,如国家所述:
例如,如果将此值设置为“11”或更高,则当在Android 3.0或更高版本上运行时,系统可以将新的默认主题(Holo)应用于您的应用程序
Android操作系统在运行时,可能会根据此值更改应用程序的样式化方式或在操作系统上下文中执行的方式。还有一些其他已知示例受此值的影响,该列表可能只会随着时间的推移而增加
出于所有实际目的,大多数应用程序都希望将targetSdkVersion
设置为最新发布的API版本。这将确保你的应用程序在最新的Android设备上看起来尽可能好。如果你不指定targetSdkVersion
,它默认为minSdkVersion
compilesdkversion在…上
compileSdkVersion
是应用程序编译所依据的API的版本。这意味着您可以使用该版本API中包含的Android API功能(当然也包括所有以前的版本)。如果尝试使用API 16功能,但将compileSdkVersion
设置为15,则会出现编译错误。如果将compileSdkVersion
设置为16,则只要应用的执行路径不尝试调用API 16特定的任何API,则仍可在API 15设备上运行应用
targetSdkVersion
targetSdkVersion
与您的应用程序的编译方式或您可以使用的API无关。targetSdkVersion
应该表明您已经在上测试了您的应用程序(可能在上一个版本之前,包括上一个版本)你指定的版本。这更像是一个认证或签准,你在给Android操作系统一个提示,说明它应该如何处理你的应用程序的操作系统功能
例如,如国家所述:
例如,如果将此值设置为“11”或更高,则当在Android 3.0或更高版本上运行时,系统可以将新的默认主题(Holo)应用于您的应用程序
Android操作系统在运行时,可能会根据此值更改应用程序的样式化方式或在操作系统上下文中执行的方式。还有一些其他已知示例受此值的影响,该列表可能只会随着时间的推移而增加
出于所有实际目的,大多数应用程序都希望将
targetSdkVersion
设置为最新发布的API版本。这将确保您的应用程序在最新的Android设备上看起来尽可能好。如果您不指定targetSdkVersion
,则默认为minSdkVersion
coMPileSDK版本
应为最新稳定版本。
targetSdkVersion
应经过全面测试,且小于或等于compileSdkVersion
compileSdkVersion
应为最新稳定版本。
targetSdkVersion
应经过全面测试,小于或等于compileSdkVersion
compileSdkVersion
是应用程序在开发过程中编译时使用的SDK平台的版本(您应始终使用最新版本),此版本随您使用的API版本一起提供
您将在build.gradle
文件中看到:
targetSdkVersion:
包含您的应用程序在开发过程后随附到应用程序商店的信息,该应用程序商店允许它针对指定版本的Android平台
。根据应用程序的功能,它可以针对低于当前版本的API版本。例如,您可以针对API 18,即使当前版本为租金是23英镑
仔细看看这个官方Google。
CompileSdkVersion
是您的应用程序在开发过程中用于编译的SDK平台的版本(您应该始终使用最新版本),它与您使用的API版本一起提供
您将在build.gradle
文件中看到:
targetSdkVersion:
contai
minSdkVersion <= targetSdkVersion <= compileSdkVersion
minSdkVersion (lowest possible) <= targetSdkVersion == compileSdkVersion (latest SDK)
if(client-sdk-version < min-sdk-versoin )
client-can-not-install-apk;
else
client-can-install-apk;