Android Studio无法在任务':project:dexDebug'上调用IncrementalTask​​.taskAction()

ake*_*85x 7 android gradle android-studio build.gradle

我最近决定从Eclipse切换到Android Studio.我导入了一个正在处理的项目,当我尝试运行项目时,我现在收到此错误.

Gradle: Execution failed for task ':project:dexDebug'.
> Could not call IncrementalTask.taskAction() on task ':project:dexDebug'
Run Code Online (Sandbox Code Playgroud)

我已经在这个网站巡航了2天,尝试不同的建议无济于事.我确实运行了gradlew compileDebug --stacktrace,这就是我得到的:

C:\Users\adam\AndroidStudioProjects\projectProject>gradlew compileDebug --stacktrace
Relying on packaging to define the extension of the main artifact has been deprecated and is scheduled to be removed in Gradle 2.0
:project:preBuild UP-TO-DATE                                                                        
:project:preDebugBuild UP-TO-DATE  
:project:preReleaseBuild UP-TO-DATE  
:project:prepareComAndroidSupportAppcompatV71800Library UP-TO-DATE  
:project:prepareComGoogleAndroidGmsPlayServices3225Library UP-TO-DATE  
:project:prepareDebugDependencies             
:project:compileDebugAidl UP-TO-DATE  
:project:compileDebugRenderscript UP-TO-DATE  
:project:generateDebugBuildConfig UP-TO-DATE  
:project:mergeDebugAssets UP-TO-DATE  
:project:mergeDebugResources UP-TO-DATE  
:project:processDebugManifest UP-TO-DATE  
:project:processDebugResources UP-TO-DATE  
:project:generateDebugSources UP-TO-DATE  
:project:compileDebug UP-TO-DATE  

BUILD SUCCESSFUL

Total time: 10.459 secs
Run Code Online (Sandbox Code Playgroud)

但是当我尝试实际运行项目时,我仍然遇到了这个错误.这是我的build.gradle(我的项目中有一个'libs'文件夹,包含google maps/places app的所有jar文件):

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.1.1"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 18
    }
}

dependencies {
    compile fileTree(dir: 'libs')
    compile 'com.google.android.gms:play-services:3.2.25'
    compile 'com.android.support:support-v4:18.0.0'
    compile 'com.android.support:appcompat-v7:+'
}
Run Code Online (Sandbox Code Playgroud)

和我的settings.gradle:

include ':project', ':project:libs:android-support-v4', ':project:libs:google-api-client-1.10.3-beta',
        ':project:libs:google-api-client-android2-1.10.3-beta', ':project:libs:google-http-client-1.10.3-beta',
        ':project:libs:google-http-client-android2-1.10.3-beta', ':project:libs:google-oauth-client-1.10.1-beta',
        ':project:libs:gson-2.1', ':project:libs:guava-11.0.1', ':project:libs:jackson-core-asl-1.9.4',
        ':project:libs:jsr305-1.3.9', ':project:libs:protobuf-java-2.2.0', ':project:libs:GoogleAdMobAdsSdk-6.4.1'
Run Code Online (Sandbox Code Playgroud)

正如我所说,我已经尝试了几乎所有我在这里读到的有关此错误的内容,并且没有运气.任何帮助将不胜感激.

Gio*_*fas 7

如果您的问题与我的问题相同,则问题是库依赖项之间存在冲突.

在我的情况下,罪魁祸首是libs目录中的第三方库jar ,其中包括android-support-v4库.这与我的项目对支持库(即compile 'com.android.support:support-v4:18.0.0'build.gradle)的依赖性相冲突.

一旦我更新到不需要/包含支持库的第三方库的版本,问题就解决了.

在发出compileDebug任务时没有看到任何问题的原因是问题在dexDebug阶段期间显现(当gradle合并来自所有项目和库的字节码,有点像C/C++项目中的链接阶段).

尝试改为 ./gradlew [clean] assembleDebug