2017-11-21 19 views
0

Bitbucket 파이프 라인으로 내 저장소를 만들려고하는데 실패했습니다. repo는 다른 저장소에 종속되므로 런타임에 복제하고 복제가 성공적으로 수행되지만 assembleRelease 작업이 끝나면 실패합니다.안드로이드 빌드에서 bitbucket 파이프 라인에 실패한 앱 : transformClassesWithDexForRelease

pipelines.yml은 다음과 같습니다.

image: mingc/android-build-box:latest 

pipelines: 
    default: 
    - step: 
     script: 
      - cp my_key ~/.ssh/id_rsa 
      - chmod 600 ~/.ssh/id_rsa 
      - cp config ~/.ssh/. 
      - chmod 400 ~/.ssh/config 
      - chmod +x gradlew 


      - git clone dependencies repos 
      - ./gradlew assembleRelease 

은 내가 multidex도 가끔 가끔 성공적 실행을 구축하지만, 일반적으로 실패 활성화 예외

FAILURE: Build failed with an exception. 
* What went wrong: 
Execution failed for task ':app:transformClassesWithDexForRelease'. 
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException 
* Try: 
Run with --debug option to get more log output. 
* Exception is: 
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformClassesWithDexForRelease'. 
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:84) 
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:55) 
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62) 
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) 
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88) 
    at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:46) 
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51) 
    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.execute(DefaultTaskGraphExecuter.java:236) 
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:228) 
    at org.gradle.internal.Transformers$4.transform(Transformers.java:169) 
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106) 
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:61) 
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:228) 
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:215) 
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:77) 
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:58) 
    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.UnsupportedOperationException 
    at com.android.builder.profile.Recorder$Block.handleException(Recorder.java:54) 
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:158) 
    at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:173) 
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) 
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:163) 
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134) 
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:123) 
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:95) 
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:76) 
    ... 20 more 
Caused by: com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException 
    at com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:443) 
    at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:178) 
    at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:174) 
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:156) 
    ... 27 more 
Caused by: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException 
    at com.android.builder.core.DexByteCodeConverter.dexOutOfProcess(DexByteCodeConverter.java:210) 
    at com.android.builder.core.DexByteCodeConverter.runDexer(DexByteCodeConverter.java:159) 
    at com.android.builder.core.DexByteCodeConverter.convertByteCode(DexByteCodeConverter.java:146) 
    at com.android.builder.core.AndroidBuilder.convertByteCode(AndroidBuilder.java:1386) 
    at com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:272) 
    ... 30 more 
Caused by: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException 
    at com.android.builder.core.DexByteCodeConverter.dexOutOfProcess(DexByteCodeConverter.java:206) 
    ... 34 more 
Caused by: java.lang.UnsupportedOperationException 
    at com.android.ide.common.process.ProcessInfoBuilder$JavaProcessInfoImpl.getExecutable(ProcessInfoBuilder.java:349) 
    at com.android.build.gradle.internal.process.GradleProcessResult.buildProcessException(GradleProcessResult.java:74) 
    at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:49) 

아래로 던졌습니다.

답변

0

고투 후에도 고칠 수있었습니다. 문제는 4GB로 고정 된 파이프 라인 컨테이너의 크기 였고 오류가 발생한 4GB를 잡으려고 구성한 내 dex 구성에서도 발생했습니다. 나중에 3GB로 줄 였는데 매력적이었습니다.