缺少 aidl android 工作室

aidl is missing android studio

Environment:
Mac OS 10.10.3
Android studio:1.2.11
grandle:2.2.1

日志:

Information:Gradle tasks [:generateDebugSources, :generateDebugTestSources]
:preBuild
:preDebugBuild
:checkDebugManifest
:prepareDebugDependencies
:compileDebugAidl FAILED
Error:Execution failed for task ':compileDebugAidl'.
> aidl is missing

// Top-level build file where you can add configuration options common to all sub-projects/modules.
import org.gradle.internal.os.OperatingSystem
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
String SDK_DIR = System.getenv("ANDROID_HOME")
if(SDK_DIR == null) {
    Properties props = new Properties()
    props.load(new FileInputStream(project.rootProject.file("local.properties")))
    SDK_DIR = props.get('sdk.dir');
}


apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.1"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
            jniLibs.srcDirs = ['libs']
        }

        // 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')
    }
    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 21
    }

    buildTypes {
        release {
            proguardFiles 'proguard.cfg'
        }
    }

    lintOptions {
        checkReleaseBuilds false
        // Or, if you prefer, you can continue to check for errors in release builds,
        // but continue the build even when errors are found:
        abortOnError false
    }
}

dependencies {
    compile fileTree(include: '*.jar', dir: 'libs')

    provided files("${SDK_DIR}/platforms/android-17/data/layoutlib.jar")
    //compile files('libs/pass-v1.1.3.jar')
   // compile files('libs/sdk-v1.0.0.jar')
}

在此之前,我在Mac上编译了android资源4.4,并修改了OS系统中的一些文件,我想是这个原因,但是我忘记是哪个文件了,有人遇到过这个问题

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

所以解决方案是像下图一样在应用程序中右击并选择"Open Module Settings".....

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

编译SDK版本为API21 Lollipop

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

最后清理项目并构建

更新 这是我的 build.gradle 与您的 build.gradle 的比较。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion '21.1.2'

    defaultConfig {
        applicationId "com.android.bmi"
        minSdkVersion 15
        targetSdkVersion 22
        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.2.0'
}

已更新

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

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

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

按照 Jorge post 的屏幕截图,您所要做的就是确保您没有 select Build Tools Version 23.0.0 rc1。我还没有在 IDE 或 Google 的错误跟踪器中完全调查该版本,但我所要做的就是选择以前的工具版本,并且在进行干净构建后它工作得很好。我尝试了各种 SDK 最小版本。

我是 运行 OSX 10.10.3,Android Studio 1.2.1.1 运行 在 Oracle JDK 1.8.0_45-b14

已更新解决方案 此问题在本质上与 相同。请阅读我的 post 以获得正确的解决方案和对解决方案起源的参考。

使用 android studio 1.3 预览版构建应用程序的人可能会遇到 Debug AIDL missing 错误 解决方法:(按顺序) 1) 下载预览通道下的所有工具(即版本号 23.0.0 rc1) 2) 下载 play servies 和 android support repo support under extras 3) 重新启动 Android Studio 4)按F4,设置编译SDK版本为API22+,Build tool version 23.0.0 rc1 5) 打开 build.gradle(Project:******) 并用类路径 'com.android.tools.build:gradle:1.3.+'

更改类路径行

我关注了 Jorge post 的截图。但是没有 API 21 作为选项。所以我保持编译的 SDK 版本 'API 22: Android 5.1 (Lollipop)' 不变,并将构建工具版本从 23.0.0 rc1 更改为 22.0.1

我还必须安装 JDK 7,因为 22.0.1 不支持 JDK 6。之后 gradle 构建成功。

我解决了我的问题,将构建工具版本从21.1.2设置为22.0.1,希望能帮助遇到同样问题的人。

根据我的经验,不是关于Compile Sdk Version或者Build Tool Version,而是关于New项目结构。根据此 issueAidl 文件应该在 src/main/aidl 中,一旦您将 *.aidl 放在假定的目录中,Android Studio 就会按预期服务。

如果你想在src/main/java中使用它们,那么你需要你指定的重新映射指令,如下所示:

sourceSets {
    main {
        aidl.srcDirs = ['src/main/java']
    }
}

顺便说一句,在我的情况下,重新映射方法仅适用于 Gradle 2.4(也可能高于版本)。

对于那些你仍然收到 "aidl is missing" 错误的人:

对我来说,降低构建工具版本根本不是解决方案。

在您的顶级 build.gradle 文件中,尝试设置: classpath 'com.android.tools.build:gradle:1.3.0' classpath 'com.google.gms:google-services:1.3.1'

然后使用buildToolsVersion '23.0.1'.

它非常适合我。希望对大家有帮助。