Android工作室 - 无法找到目标android-18

时间:2013-08-05 22:33:59

标签: java android gradle android-studio

Android Studio 0.2.3存在问题。

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

  

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

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

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

11 个答案:

答案 0 :(得分:118)

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

答案 1 :(得分:51)

我通过将 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 :(得分:10)

步骤1)启动Android SDK Manager

使用android命令,如下所示

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

步骤2)查找API 18

enter image description here

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

答案 3 :(得分:5)

Android Studio(0.8.1)对我有用:

  1. 右键单击项目名称并打开“模块设置”
  2. 验证SDK位置SDK
  3. 验证Gradle和插件版本(查看错误消息提示 要使用正确的版本)Gradke
  4. 在应用程序模块上将Compile SDK Version设置为android-L(最新)
  5. 将Build Tools版本设置为最大可用值(在我的情况下) 20.0.0)Build
  6. 通过UI进行的这些更改会使其他答案中显示相应的更改,但这是一种更好的方法,因为在关闭时,所有相应的文件(当前和未来)都将自动更新(这在面临许多地方时很有用)问题可能发生。)

    注意:查看事件日志非常重要,请注意Android Studio提供了有关解决此类问题的其他方法的有用信息。

答案 4 :(得分:3)

谢谢RobertoAV96。

你是我的英雄。但这还不够。在我的例子中,我更改了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')
       }
   }

答案 5 :(得分:2)

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

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

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

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

THUMB的规则&gt;在搞乱选项和配置之前重新启动应用程序。

答案 6 :(得分:1)

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

答案 7 :(得分:0)

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

修正:

  

export 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

正如其他人所说,您可能需要运行SDK Manager才能在运行Studio之前安装所需的软件包。

答案 8 :(得分:0)

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

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

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

我还使用了Link Shell扩展(http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html),只是为了解决创建符号链接的问题。

答案 9 :(得分:0)

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

答案 10 :(得分:0)

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

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

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

  3. 因此,唯一的解决方案是确保安装或不安装SDK版本,如果不安装,则确定目标为。

    错误:原因:无法使用哈希字符串找到目标&#39; android-19&#39; in:C:\ Users \ setia \ AppData \ Local \ Android \ sdk