Android studio 生成失败,错误已完成,退出值为非零3

Android studio 生成失败,错误已完成,退出值为非零3,android-studio,android-gradle-plugin,Android Studio,Android Gradle Plugin,我已经经历这个错误好几天了。在发布此问题之前,我已经搜索并尝试了其他解决方案 这是我的build.gradle文件 apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.apps.myApps" minSdkVersion 14

我已经经历这个错误好几天了。在发布此问题之前,我已经搜索并尝试了其他解决方案

这是我的build.gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.apps.myApps"
        minSdkVersion 14
        targetSdkVersion 22
        multiDexEnabled true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            multiDexEnabled true
        }
    }

    dexOptions {
            preDexLibraries = false
        }
    }

    afterEvaluate {
        tasks.matching {
            it.name.startsWith('dex')
        }.each { dx ->
        if (dx.additionalParameters == null) {
            dx.additionalParameters = []
        }
        dx.additionalParameters += '--multi-dex'
    }
}
dependencies {
    provided fileTree(dir: 'libs', include: ['*.jar'])

    compile 'com.android.support:multidex:1.0.0'
    compile "com.android.support:support-v4:18.0.+"
    compile 'com.google.android.gms:play-services:7.5.0'
    compile 'com.squareup:otto:1.3.8'
    compile 'org.bouncycastle:bcprov-jdk15on:1.49'
    compile 'net.simonvt.menudrawer:menudrawer:3.0.+@aar'

    compile files('libs/acssmc-1.1.1.jar')
    compile files('libs/activation.jar')
    compile files('libs/additionnal.jar')
    compile files('libs/android-async-http-1.4.6.jar')
    compile files('libs/android-query-full.0.26.7.jar')
    compile files('libs/androidmarketapi-0.6.jar')
    compile files('libs/emvswipeapi-android-2.3.0.jar')
    compile files('libs/mail.jar')
    compile files('libs/newrelic.android.jar')
    compile files('libs/nineoldandroids-2.4.0.jar')
    compile files('libs/ormlite-android-4.47.jar')
    compile files('libs/ormlite-core-4.47.jar')
}
我已经确认了这一点

compile 'org.bouncycastle:bcprov-jdk15on:1.49'
导致非零退出值3。 在我对它进行注释之后,错误就消失了。 但是这个jdk很重要,我不能对此发表评论

还有其他解决办法吗

**编辑** 添加了错误消息,希望能帮助解决问题

UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: GC overhead limit exceeded
at com.android.dx.ssa.SetFactory.makeLivenessSet(SetFactory.java:91)
at com.android.dx.ssa.SsaBasicBlock.addLiveOut(SsaBasicBlock.java:792)
at com.android.dx.ssa.back.LivenessAnalyzer.liveOutAtBlock(LivenessAnalyzer.java:199)
at com.android.dx.ssa.back.LivenessAnalyzer.handleTailRecursion(LivenessAnalyzer.java:141)
at com.android.dx.ssa.back.LivenessAnalyzer.run(LivenessAnalyzer.java:188)
at com.android.dx.ssa.back.LivenessAnalyzer.constructInterferenceGraph(LivenessAnalyzer.java:93)
at com.android.dx.ssa.back.SsaToRop.<init>(SsaToRop.java:82)
at com.android.dx.ssa.back.SsaToRop.convertToRopMethod(SsaToRop.java:69)
at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:101)
at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:72)
at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:297)
at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:137)
at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:93)
at com.android.dx.command.dexer.Main.processClass(Main.java:729)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
at com.android.dx.command.dexer.Main.access$300(Main.java:83)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
at com.android.dx.command.dexer.Main.processOne(Main.java:632)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:505)
at com.android.dx.command.dexer.Main.runMultiDex(Main.java:334)
at com.android.dx.command.dexer.Main.run(Main.java:244)
at com.android.dx.command.dexer.Main.main(Main.java:215)
at com.android.dx.command.Main.main(Main.java:106)
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'' finished with non-zero exit value 3
意外的顶级错误:
java.lang.OutOfMemoryError:超出GC开销限制
位于com.android.dx.ssa.SetFactory.makeLivenessSet(SetFactory.java:91)
位于com.android.dx.ssa.SsaBasicBlock.addLiveOut(SsaBasicBlock.java:792)
在com.android.dx.ssa.back.LivenessAnalyzer.liveOutAtBlock(LivenessAnalyzer.java:199)上
位于com.android.dx.ssa.back.LivenessAnalyzer.handleTailRecursion(LivenessAnalyzer.java:141)
在com.android.dx.ssa.back.LivenessAnalyzer.run(LivenessAnalyzer.java:188)上
位于com.android.dx.ssa.back.LivenessAnalyzer.constructInterferenceGraph(LivenessAnalyzer.java:93)
位于com.android.dx.ssa.back.SsaToRop(SsaToRop.java:82)
位于com.android.dx.ssa.back.SsaToRop.convertoropmethod(SsaToRop.java:69)
位于com.android.dx.ssa.Optimizer.optimize(Optimizer.java:101)
位于com.android.dx.ssa.Optimizer.optimize(Optimizer.java:72)
位于com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:297)
位于com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:137)
位于com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:93)
位于com.android.dx.command.dexer.Main.processClass(Main.java:729)
位于com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
com.android.dx.command.dexer.Main.access$300(Main.java:83)
位于com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)
位于com.android.dx.cf.direct.ClassPathPener.processArchive(classPathPener.java:284)
位于com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
位于com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
位于com.android.dx.command.dexer.Main.processOne(Main.java:632)
位于com.android.dx.command.dexer.Main.processAllFiles(Main.java:505)
位于com.android.dx.command.dexer.Main.runMultiDex(Main.java:334)
位于com.android.dx.command.dexer.Main.run(Main.java:244)
位于com.android.dx.command.dexer.Main.Main(Main.java:215)
位于com.android.dx.command.Main.Main(Main.java:106)
错误:任务“:app:dexDebug”的执行失败。
>com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:process'command'/Library/Java/JavaVirtualMachines/jdk1.7.079.jdk/Contents/Home/bin/Java''以非零退出值3结束

尝试像这样更新您的gradle文件(添加
打包选项)

我使用了您的整个build.gradle文件,没有任何错误。我的环境:

  • Android Studio 1.3.1

  • 内部build.gradle(在项目文件夹中):

-MainActivity.java:

package com.example.testgradle;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}
更新为“OutOfMemoryError:超出GC开销限制”,请重试


您是否尝试过注释所有
编译文件…
行和
提供的文件树…
行,然后添加
编译文件树(dir:'libs',include:['*.jar'])
还没有?是的,我以前试过这个解决方案。试着用
编译'com.google.android.gms:play services:7.0.0'
而不是
编译'com.google.android.gms:play services:7.5.0'
刚刚试过。同步清理和生成后仍然存在相同的错误。如何
'org.bouncycastle:bcprov-jdk15on:1.52'
。如果错误仍然存在,请重试。希望将此帮助添加到PackageOptions中的build.gradle文件中,但它仍然是一样的。我在错误消息中添加了一条消息,以防它对这个问题有所帮助。我在[GC开销限制已超出]()中找到了答案,您可以试试
dependencies {
    classpath 'com.android.tools.build:gradle:1.3.0'              
package com.example.testgradle;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}
dexOptions{        
    incremental true 
    javaMaxHeapSize "4g" 
}