错误:任务':app:dexDebug'执行失败我添加新依赖项时我的项目出错

时间:2015-11-23 05:30:51

标签: android android-gradle build.gradle

我没有在我的项目中(在libs中)添加任何库/ jar只有这种依赖。

我的build.gradle文件。

any : {...}

一旦我添加了这个"编译' com.squareup.okhttp:okhttp:2.6.0' "进入我的项目我得到了这个

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

defaultConfig {
    applicationId "com.android.example23"
    minSdkVersion 14
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'),    'proguard-rules.pro'
     }
 }
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:cardview-v7:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.melnykov:floatingactionbutton:1.1.0'
compile 'com.android.support:design:23.1.1'
compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
compile 'com.google.android.gms:play-services:8.3.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.parse:parse-android:1.11.0'
compile 'com.naver.android.helloyako:imagecropview:1.0.3'
compile 'com.squareup.okhttp:okhttp:2.6.0'
}
  

com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令' C:\ Program Files \ Java \ jdk1.8.0_45 \ bin \的java.exe''完成非零退出值2

我运行项目时出现错误....

如果我删除了这个"编译' com.squareup.okhttp:okhttp:2.6.0' "依赖我的程序工作正常。

有时如果我添加了Facebook依赖,同样的错误即将来临......

enter image description here

3 个答案:

答案 0 :(得分:3)

首先,您可以使用compile 'com.squareup.okhttp:okhttp:2.5.0'代替您的android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { minSdkVersion 14 //lower than 14 doesn't support multidex targetSdkVersion 22 // Enabling multidex support. multiDexEnabled true } } dependencies { compile 'com.android.support:multidex:1.0.1' compile 'com.squareup.okhttp:okhttp:2.5.0' } 。您可以阅读我的回答 DexIndexOverflowException

 @Override
 public boolean isViewFromObject(View view, Object o) {
      return (view == (RelativeLayout) o);
 }
  

http://developer.android.com/intl/es/tools/building/multidex.html

答案 1 :(得分:3)

您可以使用以下代码与 IntelliJ Amiya 回答。 在某些情况下,此代码适用于我

 dexOptions {
    incremental true
    javaMaxHeapSize "4g"
}

android {
compileSdkVersion 23
 buildToolsVersion "23.0.1"

     defaultConfig {
         minSdkVersion 14 //lower than 14 doesn't support multidex
         targetSdkVersion 22

         // Enabling multidex support.
         multiDexEnabled true
     }
}

你可以做一个Application类

public class MyApplication extends MultiDexApplication { .. }

override 
 attachBaseContext method and call MultiDex.install().
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}

否则(如果您的应用程序没有自定义应用程序实现),请在您的AndroidManifest.xml中将MultiDexApplication声明为应用程序实现。

<application
android:name="android.support.multidex.MultiDexApplication"
.. >
..
</application>

答案 2 :(得分:0)

添加

useLibrary  'org.apache.http.legacy'
在compileSdkversion之前在你的gradle中

...