【问题标题】:Execution failed for task ':app:compileDebugAidl': aidl is missing任务“:app:compileDebugAidl”执行失败:缺少aidl
【发布时间】:2015-06-28 07:07:21
【问题描述】:

我在我的电脑上安装了 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 android-studio android-gradle-plugin build.gradle aidl


    【解决方案1】:

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

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

    那么您有 2 个选项。我已经用上一个版本更改了这两个版本。

    将 SDK 版本编译为 API 21 Lollipop

    和构建工具版本到 21.1.2

    最后清理项目并构建

    更新

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

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

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

    更新:真正的原因

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

    【讨论】:

    • 问题可能是android gradle插件还是1.2.3,需要1.3--isn't available yet
    • 是的。我认为这就是问题所在,在我们推出 1.3 版之前,我们无法对其进行测试。以下是有关此的更多信息。还描述了如何开始使用 M 开发者预览版。 android-developers.blogspot.com/2015/05/…
    • @JorgeCasariego 我想知道你是否可以帮助我解决这个问题goo.gl/d5opg5。我保证,这不是那些“为我解决这个问题”的问题之一。
    • Android Gradle 插件 1.3.0 现已推出。请参阅下面约翰尼的回答,了解如何设置 - stackoverflow.com/a/30531882/1617737 。我现在使用 Android Studio 1.4 beta 4(我刚刚通过 Canary Channel 获得)使用 API 23 和 Gradle 1.3.0 进行设置。
    • 对我来说这是 gradle 版本。我将它更新到 1.3.0,它似乎现在可以构建。
    【解决方案2】:

    问题实际上出在金丝雀频道更新的Android Studio 1.3 版本中。我将我的studio 更新为 1.3 并得到了同样的错误,但恢复到studio 1.2.1 使我的项目运行良好。

    【讨论】:

      【解决方案3】:

      我尝试卸载/安装,但没有成功。我在 JDK 1.8.0_45-b14 上运行 OSX 10.10.3 和 Android Studio 1.2.1.1,我发现可行的解决方案类似于 Jorge Casariego 的建议。基本上,开箱即用您会收到缺少“aidl”模块的构建错误,因此只需将构建工具版本更改为 not 为 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)。他还指出(阅读问题 cmets)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

      【讨论】:

        【解决方案4】:

        如果我还打开了项目级别的 build.gradle 文件并将 android 构建插件的版本设置为 1.3.0-beta1,我就能够使构建与构建工具 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()
            }
        }
        

        【讨论】:

        • 看不到这是如何工作的,因为repo1.maven.org/maven2/com/android/tools/build/gradle 没有 /1.3.0-beta1(请参阅我上面的注释)——您是否设置了 maven 以使用其他存储库?我也在使用 AS 的金丝雀版本。
        • 有点奇怪。我在互联网上也找不到它,但我确实在我的 gradle 存储库中找到它 ~/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder/1.3.0- beta1 所以它一定来自某个地方? pom提到android.googlesource.com/platform/tools/base作为代码url..
        • 在此页面上:code.google.com/p/android/issues/detail?id=175080 有来自 Google 项目成员的评论说“构建工具 23.0.0_rc1 需要 Gradle 插件 1.3.0-beta1 或更高版本。请使用那个。应该已经在 IDE 中显示了通知。'
        【解决方案5】:

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

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

        在 Windows 上,F4 打开项目结构,构建工具版本可以在 Modules > app 部分设置:

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

        【讨论】:

          【解决方案6】:

          对我有用的快速修复:

          右键项目->“打开模块设置”->构建工具版本更改为:22.0.1

          【讨论】:

            【解决方案7】:

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

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

            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 构建状态栏会跟踪正在同步的包。完成后,构建会自动触发并成功完成。

            【讨论】:

            • 不应该是beta2吗?
            • 只有 beta1 对我有用。 beta2 给出了同样的错误。
            • 正确的路径是“文件 -> 项目结构 -> 应用程序”,然后按照屏幕截图信息...
            【解决方案8】:

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

            buildToolsVersion '23.0.0 rc2'
            

            使用最新的 android gradle 插件:

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

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

            编辑

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

            buildToolsVersion '23.0.0 rc3'
            

            编辑 2

            再一次,gradle 插件和构建工具都有更新版本,所以你可以切换到使用:

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

            buildToolsVersion '23.0.0'
            

            【讨论】:

              【解决方案9】:

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

               buildToolsVersion "23.0.0 rc1"
              

              到:

              buildToolsVersion "22.0.1"
              

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

              【讨论】:

                【解决方案10】:

                23.0.0.rc2 中的 buildtools 布局已恢复

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

                【讨论】:

                  【解决方案11】:

                  要使用compileSdkVersion 23buildToolsVersion "23.0.1" 构建您的应用程序而不会出现aidl is missing 错误,您应该在主build.gradle 文件中指定最新版本的Android Gradle 插件(以及Google Play Services Gradle 插件):

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

                  【讨论】:

                    【解决方案12】:

                    我正在使用 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"
                    

                    【讨论】:

                      【解决方案13】:

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

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

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

                      现在检查您需要的任何内容并安装软件包。

                      希望对你有帮助!

                      【讨论】:

                        【解决方案14】:

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

                        【讨论】:

                          猜你喜欢
                          • 1970-01-01
                          • 1970-01-01
                          • 2015-08-11
                          • 2020-03-07
                          • 2023-03-15
                          • 1970-01-01
                          • 2011-04-26
                          • 1970-01-01
                          • 2018-08-20
                          相关资源
                          最近更新 更多