安卓 SDK 平台包有什么用?

  • 本文关键字:SDK 平台 安卓 android
  • 更新时间 :
  • 英文 :


Android SDK 平台包有什么用?

我是否需要为我所针对的每个 API 级别下载相应的平台?

minSdkVersion是应用兼容的最低 API 版本。您无需根据此值下载任何内容。如果您将值设置为 21(棉花糖),则您的应用将无法在装有 android 版本 19 (KitKat) 的设备上运行

targetSdkVersion用于检测应用与之兼容的最高 SDK 版本,则表示向前兼容性。这里的区别在于,如果您将目标版本设置为 21,您的应用将在装有 android 23 的设备上运行。它只能由未来版本的 Android 使用,以了解您的应用程序是否可能不支持某些新功能。Google Play 政策最近已更新,因此您将被迫使用最新的 API 版本作为目标,请阅读此处。

compileSdkVersion是您在编译应用时使用的 Android SDK 版本。您必须下载该版本的 SDK,才能编译应用并使用该版本的 SDK 中的类。例如,您可能希望使用类Context,并调用方法getColor(int),SDK 的版本 23 具有它,因此您可以在代码中使用它。但是,如果您使用的是版本 21,则该方法不存在,因此您无法在应用中调用它。您在这里看到minSdkVersion也很有用,因为您可能想要使用此方法,但它仅在版本 23 中引入,并且由于您有一个最低 SDK 21,您将在编译时收到警告。

构建工具用于编译您的应用程序,无论上述值如何,您都应该将它们更新到最新版本。我认为使用最新版本的 Android gradle 插件,您不再需要设置此值,它将自动处理。

综上所述,你只需要下载你编译的 API 版本的 SDK,也就是compileSdkVersion.

关于"编译反对"的含义,当您编写应用程序时,您将编译代码并将其打包到 apk 中,然后将 apk 部署到设备上。在您的代码中,您可以使用来自 Android SDK 的类(例如Context),但这些类的代码不包含在 apk 中,它是从运行应用的设备的操作系统提供的。如果要编译使用这些 SDK 类的类,则必须向编译器"显示"这些 SDK 类,以便编译器可以编译您自己的类。

当您设置android:minSdkVersion时,这意味着您希望使用该版本的优势和开发工具(该minSdkVersion下面的用户也不能使用您的应用程序)。因此,您必须下载支持您的工具和最低版本的需求的SDK。

此外,如果您设置了android:targetSdkVersion则表示您已针对该版本测试了应用程序。因此,显然您还需要下载测试该版本所需的工具。如果未设置android:targetSdkVersion则默认情况下它将等于minSdkVersion

脚注:使用最新版本的 SDK(如 compileSdkVersion)可让你使用最新的工具和平台的优势。如果您使用的工具不受targetedminSdkVersion用户支持,开发软件将向您发出警告。

最新更新