错误:任务':app:dexDebug'的执行失败。

时间:2016-04-25 16:40:10

标签: java android-studio gradle build.gradle android-multidex

我正在使用android studio for school进行Android应用程序,我正在尝试使用Jersey客户端将应用程序与我的Web服务连接。当我尝试添加Jersey客户端所需的jar并编译项目时,我收到以下错误。

  

错误:任务':app:dexDebug'的执行失败。   com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/bin/java''完成具有非零退出值1

从四处寻找这个问题的解决方案,在我看来它正在发生,因为我通过添加罐子超过65k的方法限制。我也看到这可以通过使用我试图实现的multidex支持来解决,但是当我编译gradle时错误仍然存​​在。

这是我的build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.example.williamj.hertz"
        minSdkVersion 15
        targetSdkVersion 23
        multiDexEnabled true
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions{
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/LISCENSE.txt'
        exclude 'META-INF/LISCENSE'
        exclude 'META-INF/liscense.txt'
    }
    dexOptions{
        incremental true
        preDexLibraries = false
        javaMaxHeapSize "4g"
    }
}

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:design:23.1.1'
    compile 'com.android.support:recyclerview-v7:23.1.1'
    compile 'com.parse:parse-android:1.10.0'
    compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.github.flavienlaurent.datetimepicker:library:0.0.2'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.android.support:support-v4:23.1.1'
    compile 'com.android.support:multidex:1.0.1'

}

这是我的AndroidManifest的一部分,我添加了multidex支持

 <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:name="android.support.multidex.MultiDexApplication">

我假设我没有正确实现multidex支持。非常感谢您解决此错误的任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

让您的应用程序覆盖attachBaseContext:

<a>

link:http://developer.android.com/tools/building/multidex.html

第二种方法: 我还注意到您要包含所有Google Play服务:

<a href="#about">

通过仅指定应用使用的特定Google Play服务API而非全部API,您可以在编译应用时缓解此问题。有关如何执行此操作的信息,请参阅:https://developers.google.com/android/guides/setup#add_google_play_services_to_your_project