zoukankan      html  css  js  c++  java
  • Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException

    异常Log:

    Error:Execution failed for task ‘:app:dexDebug’.
    > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘/Library/……/java” finished with non-zero exit value 2

    错误原因:

    这个异常在Android Studio编译执行的时候出现。原因是项目中引用了反复的jar包。这可能是由于新引入的library module中有和主项目中反复引用的jar包,须要重点检查 Android 兼容包 support-v4support-v7 包。另一些经常使用的开源项目。比如Gson,Nineoldandroids…,这些经常使用的开源项目有可能在你引用的 library 项目中已经被引用过了。

    解决的方法:

    解决问题我们仅仅须要删除主项目中 libs 文件夹中和 library中反复的部分就可以,另外,我推荐大家改变将 jar 包放在 libs 文件夹中的习惯,而使用 Gradle 构建。在 module 下的 build.gradle 文件夹下将

    dependencies {
        compile files('libs/nineoldandroids-2.4.0.jar')
    }

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
    }

    改为

    dependencies {
        compile 'com.nineoldandroids:library:2.4.0'
    }

    參考链接中,我发现一个相似的异常

    Error:Execution failed for task ‘:app:dexDebug’.
    > com.android.ide.common.internal.LoggedErrorException

    出现这个错误是由于主项目和Library项目中都引用了 compile ‘com.nineoldandroids:library:2.4.0’ ,但我在最新的 Android Studio 1.3 Preview 和 Gradle 2.3中给主项目和Library项目进行了一次模拟。却没有出现该异常,依据问题中给出了 build.gradle 文件,这可能是由于使用了低版本号Android Studio 或 Gradle 的缘故,所以大家不妨在项目中检查一下。library项目中已经引入的jar,library就不要再引入到主项目中了。

    參考链接:

    http://stackoverflow.com/questions/27675717/gradle-error-execution-failed-for-task-appdexdebug/27675841

  • 相关阅读:
    C语言中for循环的使用
    详解C语言的main函数
    计算机语言的发展(the history of computer's language)
    hdu 1001
    hoj 1002
    hdu 1000
    POJ 1000(水题)
    hoj 1001
    code hunt题解(1)
    《C和指针》学习笔记(3)
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5308063.html
Copyright © 2011-2022 走看看