2014-07-26 6 views
3

Android를 컴파일하는 동안 사람들이 Gradle에서 이미 문제를 겪고있는 것으로 나타 났지만 Gradle이 발생하는 동안 특정 문제가 발생하지 않는 것으로 나타났습니다. aapt 명령을 실행하여 PNG 파일을 처리합니다.Android PNG 파일 처리 중 Android .apk 빌드가 Gradle과 함께 실패 함

내 환경 :

  • 리눅스 우분투 2009-04
  • JVM v1.7.0_65
  • Gradle을의 V1.11
  • 안드로이드 빌드 도구 v19.1.0
  • 컴파일 대상으로 안드로이드 API 레벨 19

때때로, 대략 3 bu ild, 최종 .apk에서 제공되어야하는 PNG 파일을 처리하는 동안 Gradle .apk 생성이 실패합니다.

실패 명령은 다음과 같이 Gradle을 다음과 같은 예외 실패 구축됩니다

/opt/android-sdk/build-tools/19.1.0/aapt s -i /home/opt/buildAgent/work/bb4757955823a092/myProject/src/main/res/drawable-sw600dp-hdpi/ic_under_18.png -o /home/opt/buildAgent/work/bb4757955823a092/myProject/build/res/all/myFlavor/release/drawable-sw600dp-hdpi/ic_under_18.png 

합니다 (Gradle을가 Ant 스크립트에 의해 시작됩니다 구축,하지만 실행이 직접 같은 문제가 발생합니다) , 137 오류 코드에 어떤 결과 : 문제가 발생

[exec] Error: Failed to run command: 
[exec]  /opt/android-sdk/build-tools/19.1.0/aapt s -i /home/opt/buildAgent/work/bb4757955823a092/myProject/src/main/res/drawable-sw600dp-hdpi/ic_under_18.png -o /home/opt/buildAgent/work/bb4757955823a092/myProject/build/res/all/myFlavor/release/drawable-sw600dp-hdpi/ic_under_18.png 
[exec] Error Code: 
[exec]  137 
[exec] 
[exec] :myProject:mergemyFlavorReleaseResources FAILED 
[exec] 
[exec] FAILURE: Build failed with an exception. 
[exec] 
[exec] * What went wrong: 
[exec] Execution failed for task ':myProject:mergemyFlavorReleaseResources'. 
[exec] > Error: Failed to run command: 
[exec]  /opt/android-sdk/build-tools/19.1.0/aapt s -i /home/opt/buildAgent/work/bb4757955823a092/myProject/src/main/res/drawable-sw600dp-hdpi/ic_under_18.png -o /home/opt/buildAgent/work/bb4757955823a092/myProject/build/res/all/myFlavor/release/drawable-sw600dp-hdpi/ic_under_18.png 
[exec] Error Code: 
[exec]  137 
[exec] 
[exec] 
[exec] * Try: 
[exec] Run with --info or --debug option to get more log output. 
[exec] 
[exec] * Exception is: 
[exec] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':myProject:mergemyFlavorReleaseResources'. 
[exec]  at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) 
[exec]  at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) 
[exec]  at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) 
[exec]  at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64) 
[exec]  at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) 
[exec]  at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42) 
[exec]  at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) 
[exec]  at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53) 
[exec]  at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) 
[exec]  at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:289) 
[exec]  at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79) 
[exec]  at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63) 
[exec]  at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51) 
[exec]  at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23) 
[exec]  at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:86) 
[exec]  at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29) 
[exec]  at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61) 
[exec]  at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23) 
[exec]  at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67) 
[exec]  at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32) 
[exec]  at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61) 
[exec]  at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54) 
[exec]  at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:166) 
[exec]  at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113) 
[exec]  at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81) 
[exec]  at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64) 
[exec]  at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33) 
[exec]  at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24) 
[exec]  at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35) 
[exec]  at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26) 
[exec]  at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50) 
[exec]  at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:171) 
[exec]  at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201) 
[exec]  at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174) 
[exec]  at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170) 
[exec]  at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139) 
[exec]  at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33) 
[exec]  at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22) 
[exec]  at org.gradle.launcher.Main.doAction(Main.java:46) 
[exec]  at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45) 
[exec]  at org.gradle.launcher.Main.main(Main.java:37) 
[exec]  at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50) 
[exec]  at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32) 
[exec]  at org.gradle.launcher.GradleMain.main(GradleMain.java:23) 
[exec] Caused by: com.android.build.gradle.tasks.ResourceException: Error: Failed to run command: 
[exec]  /opt/android-sdk/build-tools/19.1.0/aapt s -i /home/opt/buildAgent/work/bb4757955823a092/myProject/src/main/res/drawable-sw600dp-hdpi/ic_under_18.png -o /home/opt/buildAgent/work/bb4757955823a092/myProject/build/res/all/myFlavor/release/drawable-sw600dp-hdpi/ic_under_18.png 
[exec] Error Code: 
[exec]  137 
[exec] 
[exec]  at com.android.build.gradle.tasks.MergeResources.doFullTaskAction(MergeResources.groovy:96) 
[exec]  at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.groovy:70) 
[exec]  at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63) 
[exec]  at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:236) 
[exec]  at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:212) 
[exec]  at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:223) 
[exec]  at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:201) 
[exec]  at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:533) 
[exec]  at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:516) 
[exec]  at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) 
[exec]  at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) 
[exec]  ... 43 more 
[exec] Caused by: Error: Failed to run command: 
[exec]  /opt/android-sdk/build-tools/19.1.0/aapt s -i /home/opt/buildAgent/work/bb4757955823a092/myProject/src/main/res/drawable-sw600dp-hdpi/ic_under_18.png -o /home/opt/buildAgent/work/bb4757955823a092/myProject/build/res/all/myFlavor/release/drawable-sw600dp-hdpi/ic_under_18.png 
[exec] Error Code: 
[exec]  137 
[exec] 
[exec]  at com.android.ide.common.res2.MergeWriter.end(MergeWriter.java:53) 
[exec]  at com.android.ide.common.res2.MergedResourceWriter.end(MergedResourceWriter.java:111) 
[exec]  at com.android.ide.common.res2.DataMerger.mergeData(DataMerger.java:249) 
[exec]  at com.android.ide.common.res2.ResourceMerger.mergeData(ResourceMerger.java:25) 
[exec]  at com.android.build.gradle.tasks.MergeResources.doFullTaskAction(MergeResources.groovy:89) 
[exec]  ... 53 more 
[exec] Caused by: com.android.ide.common.internal.LoggedErrorException: Failed to run command: 
[exec]  /opt/android-sdk/build-tools/19.1.0/aapt s -i /home/opt/buildAgent/work/bb4757955823a092/myProject/src/main/res/drawable-sw600dp-hdpi/ic_under_18.png -o /home/opt/buildAgent/work/bb4757955823a092/myProject/build/res/all/myFlavor/release/drawable-sw600dp-hdpi/ic_under_18.png 
[exec] Error Code: 
[exec]  137 
[exec] 
[exec]  at com.android.ide.common.internal.CommandLineRunner.runCmdLine(CommandLineRunner.java:98) 
[exec]  at com.android.ide.common.internal.AaptCruncher.crunchPng(AaptCruncher.java:58) 
[exec]  at com.android.ide.common.res2.MergedResourceWriter$1.call(MergedResourceWriter.java:185) 
[exec]  at com.android.ide.common.res2.MergedResourceWriter$1.call(MergedResourceWriter.java:136) 
[exec] 
[exec] 
[exec] BUILD FAILED 

되면 나는 실패 명령을 실행하는 경우, 즉

/opt/android-sdk/build-tools/19.1.0/aapt s -i /home/opt/buildAgent/work/bb4757955823a092/myProject/src/main/res/drawable-sw600dp-hdpi/ic_under_18.png -o /home/opt/buildAgent/work/bb4757955823a092/myProject/build/res/all/myFlavor/release/drawable-sw600dp-hdpi/ic_under_18.png 

실패하게 만들 수 없습니다. 이 문제는 Android Build Tools v19.0.3에서도 발생합니다. 다른 빌드가 동시에 실행되고 있다고 언급 할 필요가 있습니다. 그 이유는 처음에는 동시 액세스로 인한 문제 (근본 원인이 될 가능성이 거의 없음)가 의심 스럽기 때문입니다. .

동일한 조건 (시작시 '정리 작업'이 실행되는 Gradle 빌드)을 사용하여 동일한 빌드가 가끔 성공하고 때로는 실패하기 때문에 다소 불안해합니다.

아무도 (Xavier Ducrochet?) 단서 또는 해결안 아이디어가 있으십니까? 제가 충분히 명확하지 않거나 중요한 정보가 누락 된 경우 알려주십시오.

시간을내어 도와 주셔서 감사합니다. 문안 인사.

은 결국 다음 Gradle을 실행한다 : 여기

/opt/gradle-1.11/bin/gradle --stacktrace clean myRelease 

매우 무거운 내 gradle.build 파일의 발췌 한 것입니다 내가 그것을 공개 할 수 없습니다

apply plugin: 'android' 

buildscript 
{ 
    repositories 
    { 
    mavenCentral() 
    jcenter() 
    } 

    dependencies 
    { 
    classpath 'com.android.tools.build:gradle:0.9.+' 
    classpath 'org.gradle.api.plugins:gradle-nexus-plugin:0.7' 
    } 
} 

android 
{ 
    compileSdkVersion 19 
    buildToolsVersion '19.1.0' 

    defaultConfig 
    { 
    minSdkVersion 14 
    targetSdkVersion 19 
    } 
} 

나는 희망 이상한 문제를 이해하는 데 도움이됩니다. 난 정말 문제가 aapt에서 직접 오지 않는지 궁금 해서요 ...

+0

@Joseph : 제 Gradle 스크립트의 일부 발췌 부분을 추가했습니다. –

답변

0

Ant에서 Gradle generation을 호출하기 전에 깨끗한 작업을 실행 해 보시겠습니까? build.gradle 파일 콘텐츠를 제공 할 수 있는지 확인하십시오. Gradle을 사용할 수있을 때 여전히 Ant를 사용하고있는 이유는 무엇입니까?