Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException
2016-04-07 11:37
337 查看
异常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-v4 和 support-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相关文章推荐
- Objective-C 对 URL 进展 URLEncode 编码
- ORA-12519: TNS:no appropriate service handler found 解决
- Android Studio如何自动 import
- 安卓倒计时秒
- Android动态部署六:如何从插件apk中启动BroadcastReceiver和ContentProvider
- iOS中静态库的使用
- iOS9适配 之 关于info.plist 第三方登录 添加URL Schemes白名单
- JavaPersistenceWithHibernate第二版笔记-第五章-Mapping value types-002使用@Embeddable
- webview
- iOS--点赞动画效果
- Android 开发之am使用
- iOS9适配系列教程
- iOS--点赞动画效果
- 【Android】BroadCast广播机制应用与实例
- Android中的缓存策略
- Android 操作SQLite基本用法
- android BroadcastReceiver ACTION_TIME_TICK 系统时间监听不到
- Android Bitmap理解
- iOS-获取当前网页的 url 和 title 和 html
- 微信支付开发流程