先上错误信息:Error:Execution failed for task ':app:dexDebug'.> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_91\bin\java.exe'' finished with non-zero exit value 3
方法一:如下图红色箭头指向的,先clean 再rebuild。如果项目还报错误。则关闭Android studio然后重新导入项目。
方法二:检查项目里的libs目录下有没有相同的jar包,有就删除一个。就打开build.gradle文件,查看是否重复引入jar包的原因。下面代码dependencies{}中可以看到引入了很多的jar包。被注释的compile fileTree()所在的那行代码表示引入所有的jar包,没有注释的代码表示指定单个引入的jar包.
dependencies {
//compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:multidex:'
compile 'com.android.support:appcompat-v7:23.2.0'
compile files('libs/ShareSDK-QZone-2.7.4.jar')
compile files('libs/ShareSDK-Core-2.7.4.jar')
compile files('libs/MobTools-2016.0707.1708.jar')
compile files('libs/MobCommons-2016.0707.1708.jar')
compile files('libs/ShareSDK-SinaWeibo-2.7.4.jar')
compile files('libs/ShareSDK-Wechat-2.7.4.jar')
compile files('libs/ShareSDK-Wechat-Core-2.7.4.jar')
// compile files('libs/ShareSDK-Wechat-Favorite-2.7.4.jar')
compile files('libs/ShareSDK-Wechat-Moments-2.7.4.jar')
compile files('libs/libammsdk.jar')
compile files('libs/jpush-android-2.1.5.jar')
compile files('libs/jackson-mapper-asl-1.9.10.jar')
compile files('libs/jackson-core-asl-1.9.10.jar')
compile files('libs/gson-2.3.1.jar')
compile files('libs/glide-3.7.0.jar')
compile files('libs/BmobSDK_V3.3.4_0310.jar')
compile files('libs/bitmaputils.jar')
compile files('libs/android-async-http-1.4.3.jar')
compile files('libs/AMap_Search_V3.2.1_20160308.jar')
compile files('libs/AMap_Location_V2.4.1_20160414.jar')
compile files('libs/alipaySdk-20151112.jar')
compile files('libs/afinal_0.5.1_bin.jar')
compile files('libs/umeng-analytics-v5.6.4.jar')
compile files('libs/universal-image-loader-1.9.3.jar')
compile files('libs/UPPayAssistEx.jar')
compile files('libs/UPPayPluginExStd.jar')
compile files('libs/volley.jar')
compile files('libs/ZBarDecoder.jar')
compile files('libs/zxing.jar')
}
方法三:删除build下的文件。重新rebuild 。如下图:
方法四:在build.gradle文件中检查buildToolsVersion的版本是否可用(可以新建一个项目,用可以运行的buildToolsVersion版本号)。出现原因是从svn上更新项目时,更新的是同事的buildtoolsversion。所以改成自己的就好了。
将
方法五:在build.gradle文件中添加下面的代码。忽略jar包之间可能存在的文件冲突。
packagingOptions{
exclude'META-INF/DEPENDENCIES.txt'
exclude'META-INF/LICENSE.txt'
exclude'META-INF/NOTICE.txt'
exclude'META-INF/NOTICE'
exclude'META-INF/LICENSE'
exclude'META-INF/DEPENDENCIES'
exclude'META-INF/notice.txt'
exclude'META-INF/license.txt'
exclude'META-INF/dependencies.txt'
exclude'META-INF/ASL2.0'
exclude'META-INF/LGPL2.1'
/*exclude 'assets/lineDashTexture.png'*/
}方法六:利用support 包下的multidex.jar。错误原因:dex超出65536。随着项目的进行引入的jar包等一些资源越来越大。
在build.gradle文件中找到defaultConfig{}在里面添加 multiDexEnabled true,在dependencies{}里添加compile 'com.android.support:multidex:'然后在你的application的onCreate()方法中添加MultiDex.install(this);defaultConfig {
multiDexEnabled true}
dependencies { compile 'com.android.support:multidex:'}
方法七:在builde.gragle文件中的代码android{}里添加如下代码:
dexOptions { incremental true javaMaxHeapSize "4g"}