• 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

  • 相关阅读:
    为知笔记使用备注
    困惑激发的正能量
    再多坚持一会,相信自己就好!
    看博文《前路漫漫,何为终点?》的一点小感想
    前端的杂谈
    JS 客户端检测
    DOM
    JavaScript & XML
    我所认识的XPath
    Javascript 面向对象编程
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5308063.html
Copyright © 2020-2023  润新知