Android Studio Gradle Error - preDexDebug

邮差的信 提交于 2019-12-20 01:15:26

问题


I recently added a new activity to my android studio project and now I am getting an error when I try and run it. It builds fine but I get the error below when I run it:

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

Here is my build.gradle file

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')
}

I have tried removing the supportLappcompat dependency but then I get even more errors. Any help greatly appreciated.


回答1:


I finally solved this issue by downloading the latest version of gradle.

I still get this error every so often and I just fix it by going to File ----> Invalidate caches/restart

I find Android Studio to be very buggy




回答2:


Based on where it's trying to find the dx command:

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

it looks like you've crossed a build tools version with something else. The build file you posted in your question looks okay, but look in the other build files in your project (there's at least going to be something in libraries/zbar) and make sure their buildToolsVersion statements are okay. I suspect somewhere you have:

buildToolsVersion 'android-4.4W'

where you should have:

buildToolsVersion '20.0.0'



回答3:


Now i know the reason of the problem. It was causes by wrong code in \sdk\android-sdk\tools\lib\find_java.bat

Wrong code:

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

Correct code:

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

The wrong code leads to the path of java_exe be

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

So, when dx.bat runs

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

it will report the wrong status:

Error Code:
    1

My platform: win8-32 bit android studio 1.0 - 4GB RAM




回答4:


I had a similar issue, so I uninstalled the java jdk and reinstalled the latest version from oracle and everything went OK. The link for installing the latest version of jdk is here

Note: you need to update the jdk directory in android studio after doing the above



来源:https://stackoverflow.com/questions/25529155/android-studio-gradle-error-predexdebug

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!