95

我对 Android Studio 0.2.3 有疑问。

当我运行我的项目时,构建停止并出现消息:

Gradle:任务“:AppName:compileDebugAidl”的执行失败。
> 未能找到目标 android-18

虽然我已经安装了 Android 4.3 (API 18) 的 SDK 平台,但我尝试重新安装所有的 SDK。我还在ANDROID_HOME系统变量中添加了变量。

这个错误的来源似乎是什么?

4

12 回答 12

119

我想你可能没有安装 Android-18 sdk。转到工具 > Android > SDK 管理器并检查是否安装了 Android 4.3 (API 18)。

于 2013-09-28T21:09:46.460 回答
50

我通过将compileSdkVersionGradle.build 文件中的18 更改为 17 解决了这个问题。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }
}

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
}
于 2013-08-06T16:03:53.133 回答
10

步骤 1) 启动 Android SDK 管理器

使用android如下命令,

$ /usr/local/android-studio/sdk/tools/android

步骤 2) 查找 API 18

在此处输入图像描述

步骤 3) 选择 Android 4.3 (API 18) 并安装软件包。

于 2014-08-22T11:53:55.913 回答
5

在 Android Studio (0.8.1) 中对我有用的是:

  1. 右键单击项目名称并打开模块设置
  2. 验证 SDK 位置SDK
  3. 验证 Gradle 和插件版本(查看错误消息提示以了解要使用的正确版本)格拉德克
  4. 在应用程序模块上将编译 SDK 版本设置为 android-L(最新)
  5. 将构建工具版本设置为最大可用值(在我的情况下为 20.0.0)建造

通过 UI 进行的这些更改进行了其他答案中表示的等效更改,但这是一种更好的方法,因为在关闭时,所有适当的文件(当前和未来)都将自动更新(这在遇到可能发生问题的许多地方时很有帮助)。

注意:查看事件日志并注意 Android Studio 提供了有关解决此类问题的替代方法的有用消息非常重要。

于 2014-07-08T16:17:12.880 回答
3

谢谢罗伯托AV96。

你是我的英雄。但这还不够。就我而言,我更改了 compileSdkVersion 和 buildToolsVersion。现在它起作用了。希望这有帮助

buildscript {
       repositories {
           mavenCentral()
       }
       dependencies {
          classpath 'com.android.tools.build:gradle:0.6.+'
       }
   }
   apply plugin: 'android'

   dependencies {
       compile fileTree(dir: 'libs', include: '*.jar')
   }

   android {
       compileSdkVersion 19
       buildToolsVersion "19"

       sourceSets {
           main {
               manifest.srcFile 'AndroidManifest.xml'
               java.srcDirs = ['src']
               resources.srcDirs = ['src']
               aidl.srcDirs = ['src']
               renderscript.srcDirs = ['src']
               res.srcDirs = ['res']
               assets.srcDirs = ['assets']
           }

           // Move the tests to tests/java, tests/res, etc...
           instrumentTest.setRoot('tests')
           // Move the build types to build-types/<type>
           // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ..
           // This moves them out of them default location under src/<type>/... which would
           // conflict with src/ being used by the main source set.
           // Adding new build types or product flavors should be accompanied
           // by a similar customization.
           debug.setRoot('build-types/debug')
           release.setRoot('build-types/release')
       }
   }
于 2013-12-10T14:58:30.097 回答
2

如果您遇到问题,打开 SDK 管理器,安装请求的更新,返回 Android Studio 并再次遇到问题,建议在尝试其他任何操作之前重新启动 ANDROID STUDIO。

Gradle 将自动运行,您的问题很可能会结束。您很可能会被告知安装适当的 SDK TOOLS 包,该包位于您的 SDK MANAGER 中的第二个选项卡下(sdk 与 sdk 工具不同,它们是互补包)。

您甚至不需要搜索工具包,如果您单击错误消息下方的链接,Android Studio 应该会调用 SDK Manager 自动安装该包。

再次重新启动 Android Studio,您应该比尝试解决方法更快地启动和运行。

经验法则> 在弄乱选项和配置之前重新启动您的应用程序。

于 2016-05-26T10:25:05.590 回答
1

检查 Studio 项目中的 local.properties 文件。如果您从 pre-studio 时代设置/配置了以前的 android sdk,则属性 sdk.dir 可能指向错误的文件夹。这是我的解决方案。

于 2013-11-26T11:51:21.493 回答
0

我在试用 Android Studio 时遇到了同样的问题。我已经有项目在 SDK 18 下的 ADT 上运行。无需破解清单文件。

修复者:

导出 ANDROID_HOME= pathtobundle/adt-bundle-linux-x86_64-20130729/sdk

如果您没有安装 ADT,而只想要 SDK,似乎一个很好的解决方案是安装所有内容,然后将 Android Studio 指向刚刚打包的 SDK。

cd pathtobundle

wget http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20130729.zip

解压 *.zip

正如其他人所说,在运行 Studio 之前,您可能需要运行 SDK 管理器来安装所需的包。

于 2013-09-30T18:39:02.887 回答
0

当我同时安装 Eclipse、Android Studio 和独立的 Android SDK 时,我遇到了类似的问题(问题在于 AVD 管理器找不到目标图像)。我一直在使用 Eclipse 进行 Android 开发,但已经转移到 Android Studio,并且很快发现 Android Studio 找不到我之前创建的 AVD。

问题可能在于 Android Studio 正在查看它自己的 Android SDK(在 C:\Users\username\AppData\Local\Android\android-studio\sdk 中找到),而不是我之前安装的独立 SDK在 C:\adt\sdk。

在 C:\Users... 中重命名 Android Studio 的 SDK 文件夹(仅重命名,以防万一发生故障),然后在 Android Studio SDK 位置和独立 Android SDK 之间创建符号链接可解决此问题。

我还使用了 Link Shell 扩展 ( http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html ) 只是为了避免创建符号链接的乏味。

于 2014-07-29T01:11:13.943 回答
0

如果您编写compileSdkVersion = 22了 eg(如在“新新”Android 构建系统中使用的那样)而不是compileSdkVersion 22.

于 2015-07-29T23:31:36.530 回答
0

您可以解决将 Grandle.build 文件中的 compileSdkVersion 从 18 更改为 wtever SDK 已安装的问题..... BUTTTTT

  1. 如果您尝试返回 18 到 17 等 SDK 版本,则无法使用 18 或 18+ 中可用的功能

  2. 如果您正在迁移您的项目(Eclipse 到 Android Studio),那么您的 Existed Eclipse 项目中当然没有 build.gradle 文件

因此,唯一的解决方案是确保安装或未安装 SDK 版本,您的目标是 ,如果没有则安装。

错误:原因:在 C:\Users\setia\AppData\Local\Android\sdk 中找不到带有哈希字符串 'android-19' 的目标

于 2015-10-30T08:44:12.963 回答
0

带有哈希字符串“android-18”的目标对应于 SDK 级别 18。您需要从 SDK 管理器安装 SDK 18。

于 2016-04-10T11:42:29.850 回答