Execution failed for task ':myapp:dexDebug'bin/java'' finished with non-zero exit value 2的解决思路
来源:互联网 发布:淘宝上买单簧管行吗 编辑:程序博客网 时间:2024/05/21 09:40
反正,不知道有多少人为题目标的错误烦恼,我是被整的心力憔悴.这个报错目前来看,报错原因有两个:
1.有重复的jar包
2.你的代码方法数量超过65k个.这里65k方法数是包括开源库里的方法也是算在内的.
起初,我不会看,一直百度finished with non-zero exit value 2. 也会有解决办法,比较经典的解决办法就是在build.gradle文件加上如下代码:
defaultConfig { applicationId 'pkg' minSdkVersion targetSdkVersion versionCode versionName // Enable MultiDexing: https://developer.android.com/tools/building/multidex.html multiDexEnabled true //把这个设置为true,就可以解决了}
multiDexEnabled 这个是分包的方法,他是有局限性的,下面我直接复制别人的话:
**虽然我们开起来multidex是一个极好的东西,但是multidex还是存在自己的局限性,我们在开发测试之前要清楚局限性是什么:
如果二DEX文件太大,安装分割dex文件是一个复杂的过程,可能会导致应用程序无响应(ANR)的错误。在这种情况下,你应该尽量的减小dex文件的大小和删除无用的逻辑,而不是完全依赖于multidex。
在Android 4.0设备(API Level 14)之前,由于Dalvik linearalloc bug(问题22586),multidex很可能是无法运行的。如果希望运行在Level 14之前的Android系统版本,请先确保完整的测试和使用。
应用程序使用了multiedex配置的,会造成使用比较大的内存。当然,可能还会引起dalvik虚拟机的崩溃(issue 78035)。
对于应用程序比较复杂的,存在较多的library的项目。multidex可能会造成不同依赖项目间的dex文件函数相互调用,找不到方法。**
所以,显然这种方法不是很好.但是继续找也找不到别的办法……╮(╯▽╰)╭心塞塞啊!!!为什么会这样?
这个错误呢,其实看的关键点并不是看finished with non-zero exit value 2这句,关键看下图我标的地方
我上图显示的错误就是说我方法数超过65k了.经过不懈的百度的情况下,我才知道原来
compile 'com.google.android.gms:play-services:8.3.0'
这个包是相当的大的,就这个包就超过65k的方法数了.因为它包含了整个play-services API
google 其实已经知道了这个问题,并拿出了解决的办法.
下图为play-services的API列表
在选择API进行打包的时候,play-services-base无需单独指定,因为play-services-base会默认进行自动添加。
如果需要整个play-services API,则指定为 compile ‘com.google.android.gms:play-services:7.8.0’即可。
举子例子:
我只需要google的地图功能所以,我就改成了
compile 'com.google.android.gms:play-services-maps:8.3.0'
运行,OK.终于解决了.
至于重包,会只要删除相关重复包就好了.
- Execution failed for task ':myapp:dexDebug'bin/java'' finished with non-zero exit value 2的解决思路
- Error:Execution failed for task ':app:dexDebug'.finished with non-zero exit value 3解决
- Error:Execution failed for task ':app:dexDebug'.finished with non-zero exit value 2
- Error:Execution failed for task ‘:Test:dexDebug’.。。。finished with non-zero exit value 1
- Error:Execution failed for task...finished with non-zero exit value 2
- Error:Execution failed for task ':app:processDebugResources'....finished with non-zero exit value 1
- Error:Execution failed for task ':***:compileDebugAidl'.finished with non-zero exit value 3
- Error:Execution failed for task jdk1.8.0.25 exit with non zero exit value 2
- Error:Execution failed for task ':app:transformClassesWithDexForMfinished with non-zero exit value 2
- Error:Execution failed for task ':app:transformClassesWithDexForDebug' finished with non-zero exit v
- Error:Execution failed for task ':inferentdemo:processDebugResources'. finished with non-zero exit v
- android studio java.exe finished with non-zero exit value 2 解决思路与方法
- Error:Execution failed for ..dk\build-tools\23.0.2\aapt.exe'' finished with non-zero exit value 1错误
- transformClassesWithDexFor2011Debug "\bin\java.exe'' finished with non-zero exit value
- 解决C:\Program Files\Java\jdk1.7.0_71\bin\java.exe'' finished with non-zero exit value 2
- ExecException: Process“Java\jdk1.7.0_75\bin\java.exe'' finished with non-zero exit value 2
- java-7-oracle/bin/java finished with non-zero exit value 2
- studio dexDebug ExecException finished with non-zero exit value 2 grade等问题
- 位移运算
- Cocos2dx v3.9 Mac OS 环境配置
- Send函数和Recv函数解析
- NSString 字符串(一)
- ffmepg的一些命令
- Execution failed for task ':myapp:dexDebug'bin/java'' finished with non-zero exit value 2的解决思路
- 声学常识
- 增量更新对开发者有何影响?
- Android4.4中拒绝发送Intent.ACTION_MEDIA_MOUNTED扫描SD卡的广播 - Geder
- C++事件的建立和使用SetEvent,ResetEvent
- 通过 iframe 调用 天气预报&jsonp
- 简单之多核网络异步队列过程
- PASSION之Linux安装常见错误
- STM32----------串口通信(USART)