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

Execution failed for task ':app:compileDebugAidl': aidl is missing

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

Error:Execution failed for task ':app:compileDebugAidl'.
> aidl is missing

我的 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()
    }
}

并且:

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'
}

在我的例子中,我使用 Android Studio 1.2.1.1 下载了 Android M 和 Android 5.1.1 的第 22 版,但是当我尝试做一个 Hello World 时,同样的错误给我看

所以我的解决方案是在应用程序中右击,如下图所示,然后选择 "Open Module Settings"

那么你有两个选择。我已经用我拥有的最后一个版本更改了两者。

编译SDK版本为API21 Lollipop

并将构建工具版本升级到 21.1.2

最后清理项目并构建

已更新

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

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

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

更新:真正原因

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

问题实际上是在从 Canary 频道更新的版本 Android Studio 1.3 中。我将我的 studio 更新为 1.3 并得到了同样的错误,但恢复到 studio 1.2.1 使我的项目 运行 正常。

我试过 uninstall/install 但没成功。我是 运行 OSX 10.10.3,Android Studio 1.2.1.1 在 JDK 1.8.0_45-b14 上,我发现工作的解决方案类似于 Jorge Casariego 的推荐。基本上,开箱即用,您会收到缺少 'aidl' 模块的构建错误,因此只需将构建工具版本更改为 not 版本 23.0.0 rc1 即可解决您的问题。它似乎有一个错误。

更新 在他们的跟踪器 (https://code.google.com/p/android/issues/detail?id=175080) 上评论 Android 问题后,来自 Android 工具组的项目成员评论说,要使用构建工具版本 23.0.0 rc1,您需要使用 Android Gradle 插件 1.3.0-beta1(Android Studio 配置了 1.2.3)。他还指出(阅读问题评论)IDE 应该已经通知您需要这样做才能使其正常工作。对我来说,我没有看到通知,我已经要求该项目成员进行澄清。尽管如此,他的指导还是完美地解决了这个问题,请继续阅读。

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

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

// 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()
    }
}

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

我通过简单地将构建工具版本从“23.0.0 rc1”更改为“22.0.1”然后重建来修复它。

在 Windows 上,F4 打开项目结构,可以在模块 > 应用程序部分设置构建工具版本:

我认为这只是更改应用程序 build.gradle 文件中的设置,但我不想手动更改它,以防它做更多事情。

对我有用的快速修复:

右键项目->"Open Module Settings"->Build Tools Version改为:22.0.1

基本上是马特 Daley/Johnny Mohseni 的解决方案对我有用。

我在全新的 Android Studio V 1.2.1.1 安装中遇到了完全相同的问题。我创建了一个新项目(空白activity)并且直接上帝这个构建错误。

Error:Execution failed for task ':app:compileDebugAidl'.
> aidl is missing

按照建议,将 gradle 依赖项从 1.2.3 更改为 1.3.0-beta1 修复了它。

classpath 'com.android.tools.build:gradle:1.3.0-beta1' // <--- WORKS! 
//classpath 'com.android.tools.build:gradle:1.2.3' // <--- default - failed

保存 1.3.0-beta1 更改后,我收到升级依赖项的提示。接受升级请求后,底部的 gradle 构建状态栏会跟踪正在同步的包。完成后,构建会自动触发并成功完成。

前两天已经修复了,可以使用:

buildToolsVersion '23.0.0 rc2'

使用最新的 android gradle 插件:

classpath 'com.android.tools.build:gradle:1.3.0-beta2'

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

编辑

有更新版本的构建工具 23,因此您可能应该使用:

buildToolsVersion '23.0.0 rc3'

编辑 2

而且,gradle 插件和构建工具都有更新版本,因此您可以切换到使用:

classpath 'com.android.tools.build:gradle:1.3.0'

buildToolsVersion '23.0.0'

我遇到了同样的错误,我通过转到 build.gradle (Module: app) 修复了它,并将这一行从:

更改为
 buildToolsVersion "23.0.0 rc1"

至:

buildToolsVersion "22.0.1"

您需要进入 SDK 管理器并检查您是否拥有 22.0.1 构建工具。如果没有,您可以使用正确的构建工具,但避免使用 23.0.0 rc1。

23.0.0.rc2 中的构建工具布局已还原

为了能够使用它,您需要将 插件升级到 1.3.0-beta2 或更高版本,如下所示:

要使用 compileSdkVersion 23buildToolsVersion "23.0.1" 构建没有 aidl is missing 错误的应用程序,您应该为 Android Gradle 插件指定最新版本(和 Google 播放服务 Gradle 插件,如果你正在使用它)在主 build.gradle 文件中:

buildscript {
    repositories {
        ...
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.1'
        classpath 'com.google.gms:google-services:1.3.1'
    }
}

我正在使用 sdk 23.1.0 和 gradle 1.3.1。我创建了一个新项目,未进行任何编辑,但出现了 aidl 错误。我进入我的项目 gradle 文件并将工具更改为 22.0.1 而不是 23.1.0 并且它起作用了:

   compileSdkVersion 23
   buildToolsVersion "22.0.1" //"23.1.0"

检查您是否确实安装了正在使用的 buildVersionTools。在我的例子中,我尝试了 25.0.1 而我只有 25.0.2.

要检查它,请转到 SDK 管理器,单击图标:

然后点击底部的 Launch Standalone SDK Manager:

现在检查你需要的任何东西并安装包。

希望对您有所帮助!

使用文件浏览器将 IInAppBillingService.aidl 复制粘贴到 /app/src/main/aidl/com/android/vending/billing/