2016-04-18 7 views
1

ich diese Konfiguration für mein Projekt verwende:Gradle Release-Build nicht

apply plugin: 'com.android.application' 
apply plugin: 'com.google.gms.google-services' 

repositories { 
    mavenCentral() 
    maven { url "https://jitpack.io" } 
} 

android { 
    signingConfigs { 
     config { 
      keyAlias XXXXXXX 
      keyPassword XXXXXXXX 
      storePassword XXXXXXXXXX 
      storeFile file('/../XXXXXXXXXXX') 
     } 
    } 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 
    defaultConfig { 
     applicationId "com.example" 
     minSdkVersion 10 
     targetSdkVersion 20 
     versionCode 9 
     versionName "18.6" 
     multiDexEnabled true 
     signingConfig signingConfigs.config 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      shrinkResources true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    packagingOptions { 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE' 
     exclude 'META-INF/NOTICE.txt' 
     exclude 'LICENSE.txt' 
    } 
    productFlavors { 
    } 

    lintOptions { 
     abortOnError false 
    } 
    dexOptions { 
     preDexLibraries = false 
    } 
    defaultConfig{ 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
} 

afterEvaluate { 
    tasks.matching { 
     it.name.startsWith('dex') 
    }.each { dx -> 
     if (dx.additionalParameters == null) { 
      dx.additionalParameters = ['--multi-dex'] 
     } else { 
      dx.additionalParameters += '--multi-dex' 
     } 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.android.support:appcompat-v7:23.1.1' 
    compile 'com.android.support:recyclerview-v7:23.1.1' 
    compile 'com.fasterxml.jackson.core:jackson-databind:2.6.0' 
    compile 'com.fasterxml.jackson.core:jackson-core:2.6.0' 
    compile 'com.fasterxml.jackson.core:jackson-annotations:2.6.0' 
    compile 'com.android.support:support-v4:23.0.0' 
    compile 'com.journeyapps:zxing-android-embedded:[email protected]' 
    compile 'com.google.zxing:core:3.2.0' 
    compile 'com.google.android.gms:play-services-analytics:8.3.0' 
    compile "com.google.android.gms:play-services-gcm:8.3.0" 
    compile 'com.github.flavienlaurent.datetimepicker:library:+' 
    compile 'com.roomorama:caldroid:2.2.0' 
    compile 'org.mozilla:rhino:+' 
    compile 'org.roboguice:roboguice:3.+' 
    provided 'org.roboguice:roboblender:3.+' 
    compile 'com.cocosw:favor:[email protected]' 
    compile 'com.github.orhanobut:logger:1.12' 
    compile files('libs/universal-image-loader-1.9.4.jar') 
    compile files('libs/mail.jar') 
    compile files('libs/activation.jar') 
    compile files('libs/additionnal.jar') 

    // Testing-only dependencies 
    // Force usage of support annotations in the test app, since it is internally used by the runner module. 
    androidTestCompile 'com.android.support:support-annotations:23.1.1' 
    androidTestCompile 'com.android.support.test:runner:0.4.1' 
    androidTestCompile 'com.android.support.test:rules:0.4.1' 
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1' 
    androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.1' 
    androidTestCompile 'com.android.support:support-annotations:23.1.1' 
} 

Stacktrace:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformClassesWithDexForRelease'. 
     at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) 
     at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) 
     at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) 
     at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64) 
     at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) 
     at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52) 
     at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) 
     at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53) 
     at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) 
     at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203) 
     at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185) 
     at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66) 
     at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50) 
     at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54) 
     at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40) 
Caused by: java.lang.RuntimeException: com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded 
     at com.android.builder.profile.Recorder$Block.handleException(Recorder.java:54) 
     at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:57) 
     at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:47) 
     at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:173) 
     at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75) 
     at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:244) 
     at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220) 
     at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:231) 
     at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209) 
     at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) 
     at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) 
     ... 14 more 
Caused by: com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded 
     at com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:421) 
     at com.android.build.gradle.internal.pipeline.TransformTask$3.call(TransformTask.java:178) 
     at com.android.build.gradle.internal.pipeline.TransformTask$3.call(TransformTask.java:174) 
     at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:55) 
     ... 23 more 
Caused by: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded 
     at com.android.builder.core.AndroidBuilder.dexInProcess(AndroidBuilder.java:1513) 
     at com.android.builder.core.AndroidBuilder.runDexer(AndroidBuilder.java:1488) 
     at com.android.builder.core.AndroidBuilder.convertByteCode(AndroidBuilder.java:1477) 
     at com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:251) 
     ... 26 more 
Caused by: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded 
     at com.android.builder.core.AndroidBuilder.dexInProcess(AndroidBuilder.java:1502) 
     ... 29 more 
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded 

Wenn ich Code in Android Studio im Debug-Modus alles versuchen läuft funktioniert gut, aber wenn ich versuche Code zu veröffentlichen, der gerade in der Dexing-Phase hängen bleibt und OutOfMemoryException bekommt. Ich versuchte das Kompilieren mit mehr RAM (8g, aber es würde einfach länger dauern und wieder fehlschlagen). Auch habe ich versucht, es auf API 21 zu kompilieren, und auf anderen Android-Studio-Versionen, aber kein Glück. Ich benutze Android Studio 2.0, stabile Version. Kann mir jemand helfen, dieses Problem zu beheben?

+0

können Sie bitte Post-Stack-Trace Sie im Studio haben? – Dharmaraj

+0

haben Sie die "Über 64K Methoden" überprüft? – kagkar

+0

Ja, das ist nicht das Problem, ich bin jetzt Stack-Trace anhängen. – Dejan

Antwort

2

Problem war mit Java-Version. Als ich Android Studio aktualisiert habe, habe ich keine Version veröffentlicht und ich habe es nicht bemerkt, aber Java hat auf Version 1.8 gewechselt, und es wird nicht unterstützt. Als ich zur niedrigeren Version zurückkehrte, fing alles wieder an zu arbeiten. Klicken Sie mit der rechten Maustaste auf Projekt> Moduleinstellungen> Java und legen Sie es dort fest.