Android Studio Gradle Error - preDexDebug

时间:2014-08-27 13:58:25

标签: android android-studio android-gradle build.gradle

我最近在我的android studio项目中添加了一个新活动,现在我在尝试运行它时遇到错误。它构建正常但我在运行它时得到以下错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:preDexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    /Applications/Android Studio.app/sdk/build-tools/android-4.4W/dx --dex --output /Users/davidcavanagh/joshcpdandroid/app/build/intermediates/pre-dexed/debug/classes-22ecb8c50fefe43948d87c9fee8e36a6b7d1bb5a.jar /Users/davidcavanagh/joshcpdandroid/app/build/intermediates/exploded-aar/com.android.support/support-v4/20.0.0/classes.jar
  Error Code:
    1

这是我的build.gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 20
    buildToolsVersion '20.0.0'

    defaultConfig {
        applicationId "com.joshcpd.android"
        minSdkVersion 15
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services:5.2.08'
    compile 'com.android.support:appcompat-v7:20.0.0'
    compile project(':libraries:zbar')
}

我尝试删除supportLappcompat依赖项,但后来又出现了更多错误。非常感谢任何帮助。

4 个答案:

答案 0 :(得分:15)

我终于通过下载最新版本的gradle解决了这个问题。

我仍然经常得到这个错误,我只是通过转到文件---->来修复它。无效的缓存/重启

我发现Android Studio非常错误

答案 1 :(得分:1)

根据它试图找到dx命令的位置:

  

/ Applications / Android Studio.app/sdk/build-tools/android-4.4W/dx

看起来你已经越过了其他东西的构建工具版本。您在问题中发布的构建文件看起来没问题,但查看项目中的其他构建文件(至少会出现libraries/zbar中的内容)并确保它们的buildToolsVersion语句没问题。我怀疑你的某个地方:

buildToolsVersion 'android-4.4W'

你应该在哪里:

buildToolsVersion '20.0.0'

答案 2 :(得分:1)

现在我知道问题的原因了。这是\sdk\android-sdk\tools\lib\find_java.bat

中错误代码造成的

错误的代码:

find /i "x86" > NUL && set arch_ext=32 || set arch_ext=64

正确的代码:

find /i "x86" > NUL && set arch_ext=32||set arch_ext=64

错误的代码导致java_exe

的路径
E:\Android\sdk\ANDROI~1\tools\lib\\find_java32 .exe

所以,dx.bat运行时

call "%java_exe%" %javaOpts% -Djava.ext.dirs="%frameworkdir%" -jar "%jarpath%" %params% 

它会报告错误的状态:

Error Code:
    1

我的平台:win8-32位android studio 1.0 - 4GB RAM

答案 3 :(得分:0)

我有类似的问题,所以我卸载了java jdk并从oracle重新安装了最新版本,一切顺利。安装最新版本的jdk的链接是here

注意:完成上述操作后,您需要更新android studio中的jdk目录