任务执行失败':app:compileDebugAidl':缺少aidl

67 android aidl android-studio build.gradle android-gradle-plugin

我在我的电脑上安装了Android Studio.我创建了一个新项目,但下面给出了错误.我能做什么?

Error:Execution failed for task ':app:compileDebugAidl'.
> aidl is missing
Run Code Online (Sandbox Code Playgroud)

我的Android Studio版本是1.1.0.

这是我的build.gradle档案:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        jcenter()
    }
}
Run Code Online (Sandbox Code Playgroud)

而且:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "24.1.2"

    defaultConfig {
        applicationId "com.example.jo.cloning_a_login_screen"
        minSdkVersion 13
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.0.0'
}
Run Code Online (Sandbox Code Playgroud)

Jor*_*ego 84

在我的情况下,我使用Android Studio 1.2.1.1下载了Android M和Android 5.1.1的第22版,但是当我尝试执行Hello World时,同样的错误显示我

因此我的解决方案是在应用程序中右键单击,如下图所示,然后选择"打开模块设置"

图片1

那你有2个选择.我用最后一个版本改变了两个版本.

将SDK版本编译为API 21 Lollipop

在此输入图像描述

和构建工具版本到21.1.2

在此输入图像描述

最后清理项目并构建

更新

要获取Android Studio 1.3,请按照以下步骤操作

  1. 选择"文件">"设置"打开"设置"窗口.
  2. 选择外观和行为>系统设置>更新面板.
  3. 在"更新"面板上,选择"自动检查更新:Canary Chanel "选项.
  4. 在"更新"面板上,选择"立即检查"以检查最新的canary构建.出现提示时下载并安装构建.

然后你会有这样的东西将你的Androud Studio更新到1.3,你可以用它来测试Android M.

Android 1.3

更新:真正的原因

当SDK,Build Tools和Gradle Plugins的版本不匹配时(在兼容性方面),会发生此错误.解决方案是验证您是否使用它们的最新版本.gradle插件放在项目的build.gradle中,其他版本放在模块的build.gradle上.例如,对于SDK 23,您必须使用Build Tools 23.0.1和gradle plugins 1.3.1版.

  • 问题可能是android gradle插件仍然是1.2.3并且它需要是1.3-- [尚未提供](http://repo1.maven.org/maven2/com/android/tools/build/gradle这个/). (3认同)

sca*_*ana 16

它已在两天前修复,因此您可以使用:

buildToolsVersion '23.0.0 rc2'
Run Code Online (Sandbox Code Playgroud)

使用最新的android gradle插件:

classpath 'com.android.tools.build:gradle:1.3.0-beta2'
Run Code Online (Sandbox Code Playgroud)

注意:我在gradle 2.4发行版上遇到了一些奇怪的问题,但尝试再次构建项目已经解决了这个问题.

编辑

有一个较新版本的build-tools 23,所以你应该使用:

buildToolsVersion '23.0.0 rc3'
Run Code Online (Sandbox Code Playgroud)

编辑2

而且,有更新版本的gradle插件和构建工具,所以你可以切换到使用:

classpath 'com.android.tools.build:gradle:1.3.0'
Run Code Online (Sandbox Code Playgroud)

buildToolsVersion '23.0.0'
Run Code Online (Sandbox Code Playgroud)


Gru*_*uff 15

新安装的Android Studio 1.2.1.1尝试为API 22构建一个新的空白应用程序时遇到了类似的错误:Android 5.1(Lollipop).

我通过简单地将Build Tools Version从"23.0.0 rc1"更改为"22.0.1"然后重建来修复它.

在Windows上,F4打开项目结构,可以在模块>应用程序部分中设置构建工具版本: 在此输入图像描述

我认为所有这一切都是在应用程序中更改build.gradle文件中的设置,但我不想手动更改它,以防万一它做更多的事情.


Joh*_*eni 8

我试图卸载/安装它不起作用.我在JDK 1.8.0_45-b14上使用Android Studio 1.2.1.1运行OSX 10.10.3,我找到的解决方案类似于Jorge Casariego的推荐.基本上,开箱你得到一个编译错误缺少"AIDL"模块,以简单地改变生成工具版本,以进行版本23.0.0 RC1将解决您的问题.它似乎有一个错误.

更新 在跟踪器(https://code.google.com/p/android/issues/detail?id=175080)上对Android问题发表评论后,Android工具组的项目成员评论说要使用Build Tools版本23.0 .0 rc1您需要使用Android Gradle Plugin 1.3.0-beta1(Android Studio配置为1.2.3).他还注意到(请阅读问题评论)IDE应该发出通知,告知您需要执行此操作才能使其正常工作.对我来说,我没有看到通知,我已要求该项目成员澄清.尽管如此,他的指导完全解决了这个问题.

解决方案:打开您build.gradle的项目(而不是模块).找到行classpath com.android.tools.build:gradle:xxxdependencies哪里xxx是摇篮插件版本,并进行更新.保存并重建您的项目.以下是用于管理Gradle版本的Android Gradle文档:https://developer.android.com/tools/revisions/gradle-plugin.html


Mat*_*ley 5

如果我还打开了项目级build.gradle文件并将android build插件的版本设置为1.3.0-beta1,我能够使用Build Tools 23.0.0 rc1进行构建.此外,我正在跟踪金丝雀和预览版本,并在几秒前更新,所以也许这有帮助.

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0-beta1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
Run Code Online (Sandbox Code Playgroud)