-1

After update Android Gradle plugin to 3.0.1 I am unable to build release version of my application and get following error:

Execution failed for task ':transformClassesWithDexForReleaseCLI'. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Return code 1 for dex process

I was looking for solution to the issue but all of them are connected with progruard which I don't use or pointing to set multiDexEnabled to true which I had set. I've set also:

lintOptions {
    abortOnError false
  }

so lint errors also shouldn't affect on the build result. I am pretty sure that issue is connected with building signed APK because debug build is successful.

Here is my build.gradle file:

import java.nio.charset.StandardCharsets;

def vCode, vName
def JVM_MAX_HEAP_SIZE = "2g"

buildscript {

  repositories{
    jcenter()
    mavenCentral()

    maven {
      url "https://dl.google.com/dl/android/maven2"
    }
  }

  dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
  }

  tasks.withType(JavaCompile) { options.encoding = "UTF-8" }
}

repositories {
  mavenCentral()

  maven {
    url "https://dl.google.com/dl/android/maven2"
  }
}

apply plugin: 'com.android.application'

dependencies {
  // LOCAL LIBS
  compile fileTree(include: ['*.jar'], dir: 'libs')
  //  ANDROID SUPPORT LIBS
  compile 'com.android.support:appcompat-v7:27.0.1'
  compile 'com.android.support:support-v13:27.0.1'
  compile 'com.android.support:support-v4:27.0.1'
  compile 'com.android.support:design:27.0.1'
  //  OTHER LIBS
  compile 'com.google.code.gson:gson:2.2.2' // DO NOT UPDATE!
  compile 'com.amazonaws:aws-android-sdk-core:2.1.10'
  compile 'com.amazonaws:aws-android-sdk-s3:2.1.10'
  //  compile 'com.amazonaws:aws-android-sdk-core:2.3.3'
  //  compile 'com.amazonaws:aws-android-sdk-s3:2.3.3'
  compile 'org.sqldroid:sqldroid:1.0.3'
  //
  compile 'com.j256.ormlite:ormlite-android:5.0'
  compile 'com.j256.ormlite:ormlite-core:5.0'
  compile 'com.madgag:sc-light-jdk15on:1.47.0.3'
  // APACHE HTTP MIME TYPE
  compile 'cz.msebera.android:httpclient:4.4.1.1'

// https://mvnrepository.com/artifact/org.slf4j/slf4j-api
  compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.24'

// https://mvnrepository.com/artifact/com.github.tony19/logback-android-classic
  compile group: 'com.github.tony19', name: 'logback-android-classic', version: '1.1.1-6'

  // MultiDex support:https://developer.android.com/studio/build/multidex.html
  compile 'com.android.support:multidex:1.0.2'

  // https://mvnrepository.com/artifact/com.github.angads25/filepicker
  compile group: 'com.github.angads25', name: 'filepicker', version: '1.1.1'

}

def signPropertiesFile
def signProperties
def File keyStoreFile = null


task preapreCLISigning {

  if (project.hasProperty("release") && project.getProperty("release").equals("assembleReleaseCLI")) {

    println "Reading signing settings for CLI from file."

    signPropertiesFile = rootProject.file("sign.properties")
    signProperties = new Properties()
    signProperties.load(new FileInputStream(signPropertiesFile))

    keyStoreFile = file("keystore")

  } else {

    println "Not reading signing settings, null provided."

    signProperties = [
            keyAlias : "",
            keyPassword: "",
            storePassword: ""
    ]

    keyStoreFile = null;
  }

}

task loadVersionProperties() {

  def versionPropsFile = file("versions.properties")
  if (!versionPropsFile.exists()) {
    throw new GradleException("versions.properties file not found")
  }

  def Properties versionProps = new Properties()
  versionProps.load(new FileInputStream(versionPropsFile))

  vCode = versionProps["vCode"].toInteger()
  vName = versionProps["vName"];

}

// CHANGE APP VERSION AND NAME IN STRINGS.XML FILE
task changeAppVersionAndName() {

  // UTF-8 NAMES FIX
  Properties baseProps = new Properties();
  def basePropFile = file("gradle.properties");

  if (basePropFile.canRead()) {
    baseProps.load(new InputStreamReader(new FileInputStream(basePropFile), StandardCharsets.UTF_8));
    appName = baseProps.appName;
    println "[DEBUG] UTF-8 FIX NAME: " + baseProps.appName + " NAME: " + appName;
  }
  else {
    println "[DEBUG] CANNOT READ PROPERTIES FILE..."
  }
  // FIX END

  println "[INFO] REPLACING APP NAME TO: " + appName + " AND VERSION TO: " + vName

  def resValuesPath = "res" + File.separatorChar + "values" + File.separatorChar

  // FILE IS COPIED TO TEMP LOCATION BECAUSE THERE WILL BE OVERWRITTEN TOKENS
  if (!file("tmp" + File.separatorChar + "strings.xml").exists()) {

    println "[INFO] CREATING TEMP DIRECTORY WITH STRING.XML"

    copy {

      from file(resValuesPath + File.separatorChar + "strings.xml")
      into "tmp"

    }

  }


  if (!file("tmp" + File.separatorChar + "strings.xml").exists()){
    throw FileNotFoundException("UNABLE TO CREATE TEMPORARY strings.xml FILE")
  }

  File stringFile = file("res" + File.separatorChar + "values" + File.separatorChar + "strings.xml")
  String _content = stringFile.getText("UTF-8")

  _content = _content.replaceAll("%app_name%", appName)
  _content = _content.replaceAll("%app_version%", vName)

  stringFile.write(_content, "UTF-8")

  println "[INFO] APP NAME AND VERSION SET"

}

android {

  compileSdkVersion = 27
  buildToolsVersion = '26.0.2'

  lintOptions {
    abortOnError false
  }

  dexOptions {
    javaMaxHeapSize JVM_MAX_HEAP_SIZE
  }

  android.variantFilter {variant ->

    if (project.hasProperty("release") && project.getProperty("release").equals("assemble")) {
      if (variant.getBuildType().name.equals("releaseCLI") || variant.getBuildType().name.equals("releaseDebug")) {
        println "SKIPPING CLI SIGNING..."
        variant.setIgnore(true)
      }
    }

  }

  signingConfigs {

    cliSigning {

      keyAlias signProperties['keyAlias']
      keyPassword signProperties['storePassword']
      storeFile keyStoreFile
      storePassword signProperties['storePassword']

    }

  }

  defaultConfig {
    applicationId appClass
    minSdkVersion 19
    targetSdkVersion 27
    versionCode vCode
    versionName vName
    setProperty("archivesBaseName", "$appName-$vName")
    multiDexEnabled true
  }

  compileOptions {
    sourceCompatibility 1.7 // JAVA 1.8 REQUIRE JACK OPTIONS ENABLED
    targetCompatibility 1.7
  }

  buildTypes {

    release {
      minifyEnabled false
      debuggable false
    }

    debug {
      debuggable true
      versionNameSuffix "-debug"
    }

    releaseCLI {
      minifyEnabled false
      debuggable false
      signingConfig signingConfigs.cliSigning
    }

  }

  useLibrary 'org.apache.http.legacy'

  sourceSets {

    main {
      manifest.srcFile 'AndroidManifest.xml'
      java.srcDirs = ['src']
      res.srcDirs = ['res']
      assets.srcDirs = ['assets']
    }

    instrumentTest.setRoot('tests')

    debug.setRoot('build/debug')
    release.setRoot('build/release')
    releaseCLI.setRoot('build/releaseCLI')

  }
}

I was looking also at Android Gradle plugin migration page for helpfully informations but with no result. Do you have any ideas what I should fix in my build.gradle file?

// EDIT: full stack trace:

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':transformClassesWithDexForReleaseCLI'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
        at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
        at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.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:54)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:59)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:128)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
        at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:46)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
        at org.gradle.initialization.DefaultGradleLauncher$ExecuteTasks.run(DefaultGradleLauncher.java:314)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
        at org.gradle.initialization.DefaultGradleLauncher.runTasks(DefaultGradleLauncher.java:204)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:134)
        at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:109)
        at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:78)
        at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:75)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
        at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)
        at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:75)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(RunAsBuildOperationBuildActionRunner.java:43)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40)
        at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
        at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)
        at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)
        at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:80)
        at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:53)
        at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:57)
        at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:32)
        at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
        at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
        at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
        at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
        at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:64)
        at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:29)
        at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59)
        at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44)
        at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:45)
        at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30)
        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
        at org.gradle.util.Swapper.swap(Swapper.java:38)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:50)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
        at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: java.lang.RuntimeException: com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Return code 1 for dex process
        at com.android.builder.profile.Recorder$Block.handleException(Recorder.java:55)
        at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:104)
        at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:213)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
        ... 103 more
Caused by: com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Return code 1 for dex process
        at com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:222)
        at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:222)
        at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:218)
        at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
        ... 115 more
Caused by: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Return code 1 for dex process
        at com.android.builder.core.DexByteCodeConverter.dexInProcess(DexByteCodeConverter.java:178)
        at com.android.builder.core.DexByteCodeConverter.runDexer(DexByteCodeConverter.java:150)
        at com.android.builder.core.DexByteCodeConverter.convertByteCode(DexByteCodeConverter.java:135)
        at com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:213)
        ... 118 more
Caused by: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Return code 1 for dex process
        at com.android.builder.core.DexByteCodeConverter.dexInProcess(DexByteCodeConverter.java:176)
        ... 121 more
Caused by: com.android.ide.common.process.ProcessException: Return code 1 for dex process
        at com.android.builder.internal.compiler.DexWrapper$DexProcessResult.assertNormalExitValue(DexWrapper.java:117)
        at com.android.builder.core.DexByteCodeConverter.lambda$dexInProcess$0(DexByteCodeConverter.java:171)
Blady214
  • 729
  • 6
  • 19
  • I think the errors logging you have provided is a bit incomplete, can you provide more of it as I believe there might be valuable information above or below these lines (that you have currently) that will help point out the problem. – petey Dec 08 '17 at 15:02
  • @petey I've added full error stack trace to my question. I hope it helps. – Blady214 Dec 08 '17 at 18:03
  • thanks! can you take a look at this answer and see if it helps solve your issue? https://stackoverflow.com/a/34348770/794088 – petey Dec 08 '17 at 18:09
  • I've increased ```javaMaxHeapSize``` size up to 4 GB and added ```preDexLibraries = false``` with no result. – Blady214 Dec 09 '17 at 10:51

1 Answers1

1

For others who will have the same issue. I've enabled debug in build process then I get errors like:

Error:(18) Error: android defines classes that conflict with classes now provided by Android. Solutions include finding newer versions or alternative libraries that don't have the same problem (for example, for httpclient use HttpUrlConnection or okhttp instead), or repackaging the library using something like jarjar. [DuplicatePlatformClasses]

It means that I have to exclude some modules from build process, by adding following code to android section:

  configurations {
    all {
      exclude module: 'httpclient'
      exclude module: 'commons-logging'
      exclude module: 'opengl-api'
      exclude module: 'xmlParserAPIs'
      exclude module: 'xpp3'
    }
  }
Blady214
  • 729
  • 6
  • 19
  • I tried your solution but doesn't work for me, I still have an error: Error:(3) Error: android defines classes that conflict with classes now provided by Android. Solutions include finding newer versions or alternative libraries that don't have the same problem (for example, for httpclient use HttpUrlConnection or okhttp instead), or repackaging the library using something like jarjar. [DuplicatePlatformClasses] – Erik Jhordan Rey Jan 23 '18 at 19:37
  • @ErikJhordanRey I meant build.gradle ;) – Blady214 Feb 01 '18 at 08:14
  • I have the same problem. This list gets rid of all the other errors, but android remains. – kristyna Mar 08 '19 at 21:00
  • Yes, this error remains: `Error: android defines classes that conflict with classes now provided by Android. Solutions include finding newer versions or alternative libraries that don't have the same problem (for example, for httpclient use HttpUrlConnection or okhttp instead), or repackaging the library using something like jarjar. [DuplicatePlatformClasses] apply plugin: 'com.android.application' ~~~~~~~ ` – auspicious99 Mar 09 '19 at 13:48