aidl缺少android工作室

时间:2015-05-28 12:19:15

标签: android compilation aidl

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系统中修改了一些文件,我认为原因是这样,但我忘记了哪个文件,有人遇到过这个问题

6 个答案:

答案 0 :(得分:70)

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

因此解决方案是在应用程序中右键单击,如下图所示,选择“打开模块设置”.....

enter image description here

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

将SDK版本编译为API 21 Lollipop

enter image description here

和Build Tools Version to 21.1.2

enter image description here

最后清理项目并构建

UPDATE 我的 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. 选择文件&gt;打开“设置”窗口。设置。
  2. 选择外观&amp;行为&gt;系统设置&gt;更新面板。
  3. 在“更新”面板上,选择“自动检查更新:Canary Chanel。
  4. ”选项
  5. 在“更新”面板上,选择“立即检查”以检查最新的canary版本。 5.在出现提示时下载并安装构建。
  6. 然后你会有类似的东西将你的Android Studio更新为1.3,你可以测试Android M

    enter image description here

答案 1 :(得分:20)

I solve my issue, set the build tools version from 21.1.2 to 22.0.1, hope it can help who meet the same.

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

答案 2 :(得分:8)

按照Jorge的帖子截屏,你要做的就是确保选择Build Tools Version 23.0.0 rc1。我还没有在IDE或谷歌的bug追踪器上完全调查过这个版本,但我所要做的只是选择以前的工具版本,并且在完成干净的构建后它运行得很好。我尝试了各种SDK min版本。

我在运行Oracle JDK 1.8.0_45-b14的Android Studio 1.2.1.1上运行OSX 10.10.3

更新解决方案 此问题在性质上与Execution failed for task ':app:compileDebugAidl': aidl is missing相同。请阅读我的帖子,了解正确的解决方案,并参考解决方案的起源。

答案 3 :(得分:2)

使用android studio 1.3预览构建应用程序的人可能会收到Debug AIDL缺失错误 解决方案:(按顺序) 1)下载预览频道下的所有工具(即修订号23.0.0 rc1) 2)在额外内容下载播放服务和android支持repo支持 3)重启Android Studio 4)按F4并将编译SDK版本设置为API 22+和Build工具版本23.0.0 rc1 5)打开build.gradle(Project:******)并使用classpath更改classpath行&#39; com.android.tools.build:gradle:1.3。+&#39;

答案 4 :(得分:1)

我按照Jorge的帖子截图。但是没有API 21作为选项。所以我保留了Compiled SDK Version&#39; API 22:Android 5.1(Lollipop)&#39;实际上并将Build Tool Version从23.0.0 rc1更改为22.0.1

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

enter image description here enter image description here

答案 5 :(得分:1)

根据我的经验,没有关于 Compile Sdk Version Build Tool Version ,关于新项目结构。根据这个issue Aidl文件应该在src / main / aidl 中,一旦你将* .aidl放在假定的目录中,Android Studio就会按预期提供服务。

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

var isMac = navigator.platform.toUpperCase().indexOf('MAC')>=0;

if (isMac) {
  document.getElementById('container').style.overflow = 'hidden';
}
顺便说一下,在我的情况下,重映射方法只能通过Gradle 2.4(也可能是上面的版本)工作。