-2

我在 Android 开发方面绝对是新手,在尝试构建从 Internet 下载的示例项目时遇到以下问题。

当我尝试构建它时,我收到以下错误消息:

Error:Cause: failed to find target with hash string 'android-18' in: C:\Users\Andrea\AppData\Local\Android\sdk
<a href="install.android.platform">Install missing platform(s) and sync project</a>

所以我在网上搜索,发现了这个 SO 链接: Android studio - Failed to find target android-18

好的,所以我进入Tools > Android > SDK Manager并且事实上我已经安装了Android 6对应于API level 23但没有安装Android 4.3对应于API level 18

那么这意味着什么呢?这意味着我已经安装了不同版本的 Android 框架?(它是作为框架相当大的 SDK 还是什么?)

那么,我可以在 Android Studio 上安装不同版本的 SDK 吗?

我认为 API 级别必须以某种方式定义到下载的应用程序中。如何指定此应用程序不使用API 级别 18而是使用已安装的API 级别 23?我认为这不是问题,因为我安装了一个必须支持最旧版本的所有东西的最新版本,是吗?

4

3 回答 3

1

我将为您解释一下问题,然后为您提供解决方案。

您正面临这个问题,因为您的项目以 API 级别 18为目标来编译项目。因此,您必须安装 API 18 SDK 才能编译项目。

这就是IDE抱怨的原因,

Install missing platform(s) and sync project

SDK 不是框架。Android 框架完全一样,但API 级别不同,新的更新被推送到 SDK,最新的是 API 23,Marshmallow。

您不应下载较旧的 SDK 来编译项目。

始终尝试使用可用的最新 SDK。因此,只需转到您的build.gradle文件或AndroidManifest.xml文件并将其更改compileSdkVersion为 23。

于 2016-06-11T10:49:30.913 回答
1
  1. 您可以将compileSdkVersion版本更改build.gradle为 23 或本地计算机中的任何版本

  2. 您可以API Level 18从 SDK Manager 获取。

于 2016-06-11T10:37:32.063 回答
0

我进入工具 > Android > SDK 管理器,事实上我已经安装了对应于 API 级别 23 的 Android 6,但没有安装对应于 API 级别 18 的 Android 4.3。

那么这意味着什么呢?这意味着我安装了不同版本的 Android 框架?

是的,您有更新版本的 SDK。

在 Android Studio 上我可以安装不同版本的 SDK 吗?

是的,这就是 SDK 管理器的设计目的

我认为 API 级别必须以某种方式定义到下载的应用程序中。如何指定此应用程序不使用 API 级别 18 而是使用已安装的 API 级别 23 ?

它被定义。检查应用程序模块中AndroidManifest.xml的文件或build.gradle文件(不在项目根目录中)。您应该会看到minSdktargetSdk和/或compileSdk后面带有数字的组合。由于您收到有关缺少 SDK 18 的错误,因此该数字将为18.

我认为这不是问题,因为我安装了一个必须支持最旧版本的所有东西的最新版本,是吗?

支持库独立于核心 SDK。您无法在版本低于 23 的设备上运行 SDK 23 特定代码,因此,为了安全起见,建议您先下载 SDK 18,然后运行它,然后尝试更新compileSdkVersion编号。

于 2016-06-11T10:47:12.663 回答