【问题标题】:Android studio - Failed to find target android-18Android Studio - 找不到目标 android-18
【发布时间】:2013-08-06 19:05:00
【问题描述】:

我在使用 Android Studio 0.2.3 时遇到问题。

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

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

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

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

【问题讨论】:

  • 您的项目最低目标是什么?
  • Android 2.3.3 (API 10)
  • 将我的 .bash_profile 中的 ANDROID_HOME 变量设置为我的 Android Studio sdk 位置(我下载 v18 的位置)为我解决了这个问题!
  • 我的用户主路径中有变音符号,这有帮助:stackoverflow.com/a/53994123/5242995

标签: java android gradle android-studio


【解决方案1】:

我认为您可能没有安装 Android-18 sdk。转到工具 > Android > SDK Manager 并检查是否安装了 Android 4.3 (API 18)。

【讨论】:

  • 其实我遇到问题的时候是安装了Android-18 sdk,但是我认为Android Studio没有检测到。我已经通过卸载并重新安装 SDK 和 Studio 解决了。
  • 当我收到类似错误时,只需重新启动 Android Studio 就足够了,而不是完全重新安装。
  • 重启 mac 是唯一让 IntelliJ 为我看到新安装的 SDK 的方法。
【解决方案2】:

我通过将 Gradle.build 文件中的 compileSdkVersion 从 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.+'
}

【讨论】:

  • 干得好。我认为如果你提高你的最低目标,同样会实现。事实上,它可能不会在 2.3.3 上运行
  • 这确实不是问题的解决方案,特别是如果您尝试使用仅在 18+ 中可用的功能
  • 如何让它只使用最新的 SDK?我对这个库有类似的问题:github.com/devunwired/custom-view-examples,即使我做了类似的步骤,我也会收到这个错误。
【解决方案3】:

步骤 1) 启动 Android SDK 管理器

使用android 命令如下,

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

步骤 2) 查找 API 18

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

【讨论】:

    【解决方案4】:

    在 Android Studio (0.8.1) 中什么对我有用:

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

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

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

    【讨论】:

      【解决方案5】:

      谢谢罗伯托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')
             }
         }
      

      【讨论】:

        【解决方案6】:

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

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

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

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

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

        【讨论】:

          【解决方案7】:

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

          【讨论】:

            【解决方案8】:

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

            修正者:

            export ANDROID_HOME= pathtobundle/adt-bundle-linux-x86_64-20130729/sdk

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

            cd pathtobundle

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

            解压缩 *.zip

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

            【讨论】:

              【解决方案9】:

              当我同时安装 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 Extension (http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html),只是为了避免创建符号链接的乏味。

              【讨论】:

                【解决方案10】:

                如果你写了compileSdkVersion = 22,也会发生这种情况。 (在“新新”Android 构建系统中使用)而不是 compileSdkVersion 22

                【讨论】:

                  【解决方案11】:

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

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

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

                  所以,唯一的解决办法是确保SDK版本安装与否,你的目标是,如果没有安装。

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

                  【讨论】:

                    【解决方案12】:

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

                    【讨论】:

                      猜你喜欢
                      • 2016-09-26
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2021-08-03
                      相关资源
                      最近更新 更多