Android Studio:Gradle构build失败 – 执行失败的任务':compileDebugAidl'
在Android Studio(I / O预览)AI-130.677228中,使用gradle更改源代码和构build之后,构build失败,并显示以下错误:
Gradle: FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileDebugAidl'. > No signature of method: com.android.ide.common.internal.WaitableExecutor.waitForTasks() is applicable for argument types: () values: [] Possible solutions: waitForAllTasks() * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Could not execute build using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'.
第二次运行构build将成功。
使用版本1.6的gradle包装器
这真的很糟糕,因为它在第一次失败后做了很长的构build(非增量)。
有没有办法没有这个失败?
编辑包括build.gradle
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android' task wrapper(type: Wrapper) { gradleVersion = '1.6' } dependencies { compile fileTree(dir: 'libs', include: '*.jar') } android { compileSdkVersion "Google Inc.:Google APIs:17" buildToolsVersion "17" defaultConfig { minSdkVersion 11 targetSdkVersion 17 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } instrumentTest.setRoot('tests') } }
Google Code上的问题链接: https : //code.google.com/p/android/issues/detail?id = 56158
我不确定这是怎么可能的。 看起来你在Gradle插件本身和提供WaitableExecutor类的依赖关系之间有不匹配的地方。
不过你提到Gradle 1.5,这是一个问题。
插件版本0.3与Gradle 1.3-1.4兼容上周发布的新版本0.4与Gradle 1.6+兼容
确保你使用0.4和新的Gradle版本。
我通过在build.gradle
文件中设置buildToolsVersion
来解决这个问题,以匹配SDKpipe理器中最新版本的Android SDK Build-tools。
就我而言,我已经安装了Android SDK构build工具版本22.0.1 ,所以我相应地设置了buildToolsVersion
:
apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion "22.0.1" ...
完成这一改变后,我的应用程序build立起来很顺利。
我遇到了同样的问题“执行任务失败:compileDebugaidl aidl / debug /”。
我在Gradle Console中看到了更多细节,读起来如下:
在最新检查期间无法捕获任务“prepareComAndroidSupportAppcompatV72103Library”的输出文件的快照。
无法从caching中删除条目“/Users/…./…/…/…./build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3” outputFileStates.bin(/Users/…./…./…./.gradle/2.2.1/taskArtifacts/outputFileStates.bin)。
我通过从terminal删除outputFileStates.bin文件解决了这个问题,并允许Gradle重新创build它。
希望它有助于某人。
加:
compileSdkVersion 17
到你的buid.gradel文件(如下)。
并使用插件的版本3: com.android.tools.build:gradle:0.3
: com.android.tools.build:gradle:0.3
: com.android.tools.build:gradle:0.3
(或更高的未来问题等)
编辑 :我刚刚创build的参考项目。 构build,标志等https://github.com/yegdroid/gradle_demo
// //遵循所有约定的基本Android应用程序 // buildscript { 储存库{ mavenCentral() } 依赖{ classpath'com.android.tools.build:gradle:0.3' } } 应用插件:'android' android { testBuildType =“debug” defaultConfig { versionCode = 1 versionName =“0.1” minSdkVersion = 9 targetSdkVersion = 17 compileSdkVersion 17 buildConfig“private final static boolean DEFAULT = true;”, “private final static String FOO = \”foo \“;” } buildTypes { debugging{ packageNameSuffix =“.debug” buildConfig“private final static boolean DEBUG2 = false;” } } aaptOptions { noCompress“txt” } sourceSets { 主{ 清单{ srcFile'AndroidManifest.xml' } java { srcDir'src' } res { srcDir'res' } 资产{ srcDir'资产' } 资源{ srcDir'src' } } } }
将下面的代码添加到您的build.gradle文件中。 这对我有用。
dependencies { compile fileTree(dir: 'libs', include: '*.jar') }
请尝试检查项目级别设置中的“使用默认gradle包装器”选项。
Android Studio – >文件 – >设置 – >生成,执行,部署 – >生成工具 – > Gradle
喜欢在这里注册我的问题和解决scheme,因为这是几乎相关的问题张贴,如果有人绊倒错误可以迅速克服。
我遇到了类似的问题,无法执行任务:compileDebugaidl aidl / debug / ..访问被拒绝…
我克服了这个问题,通过删除构build目录并重新构build它[我使用Gradle 0.14.4]
这对我有用
编辑你的项目build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() mavenCentral() } dependencies { //delete this line below classpath 'com.android.tools.build:gradle:1.0.1' //add this line below classpath 'com.android.tools.build:gradle:1.2.3' } }
缺less的AIDL的东西是谷歌Android工作室问题,不更新主要的Gradle依赖类path。
修复: – 打开项目gradle文件(无应用程序,项目!) – replace: classpath'com.android.tools.build :gradle:1.0.1 '或任何与类path'com.android.tools.build:gradle:1.3。 1'
如果你以前不能编译,可编译的项目,谷歌猫狗不睡觉,他们正在进行更改,更新,所以你必须醒来,并在他们忘记的地方做出改变。 而gradle是相当不稳定的项目和越野车。
我可以看到gradle(错误过滤)输出? (toolwindow gradle,gradle tab)看起来好像aidl文件里面的函数有问题,主要是用于外部应用程序接口&services。 等等传输数据到小部件,或者如果你需要两个应用程序之间的数据传输。 第二种可能性是具有相同aidl结构的两个库,只有一个函数不同于一个,或者两次使用相同的库。 另一个我更新的看到这个消息的原因