首页 文章

错误:java.util.concurrent.ExecutionException:com.android.builder.internal.aapt.v2.Aapt2Exception:AAPT2错误:检查日志以获取详细信息

提问于
浏览
1

请不要像我尝试的那样重复标记并浏览所有类似 Headers 的问题,因为他们的日志与我的不同,所以没有任何效果 .

我正在生成一个签名的apk但有以下问题

org.gradle.api.tasks.TaskExecutionException:任务':app:mergeReleaseResources'的执行失败 . 在org.gradle上的org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)位于org.gradle.api.internal的org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)上的.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) org.gradle.api.internal.tasks.execution上的.gasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60) org.gradle.api.internal.tasks.execu上的.skipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)在org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter的org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)中的.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52) . 执行(SkipOnlyIfTaskExecuter.java:54)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)org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)at org . gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)org.gradle.internal.progress.DefaultBuild在Org.gradle.internal.progress.DefaultBupeOperationExecutor.run上的OperationExecutor.execute(DefaultBuildOperationExecutor.java:199)org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)at org.gradle.execution.taskgraph .DefaultTaskPlanExecutor $ TaskExecutorWorker.access $ 200(DefaultTaskPlanExecutor.java:79)org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute(DefaultTaskPlanExecutor.java:104)at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1 . 执行(DefaultTaskPlanExecutor.java:98)org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.jav) a:626)org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)org.gradle.execution ort.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:128)atg.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37 Org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)org.gradle.execution.DefaultBuildExecuter.access $ 000(DefaultBuildExecuter.java:23)org.gradle.execution.DefaultBuildExecuter $ 1.proceed(DefaultBuildExecuter.java: 43)在org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:46)org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)at atOrg.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)org.gradle.initialization.DefaultGradleLauncher $ ExecuteTasks.run(DefaultGradleLauncher.java:314)org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute( DefaultBuildOperationExecutor.java:336)org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)atg.gradle.internal.progress.DefaultBupeOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)atg.gradle .internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)org.gradle.initialization.DefaultGradleLauncher.runTasks(DefaultGradleLauncher.java:204)atg.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:134)at at在org.gradle.internal.invocation.GradleB上的org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:109) uildController $ 1.call(GradleBuildController.java:78)org.gradle.internal.invocation.GradleBuildController $ 1.call(GradleBuildController.java:75)at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152) org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:75)at org.gradle.tooling.internal.provider.runner org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)中的.BuildModelActionRunner.run(BuildModelActionRunner.java:53)位于org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)at at在org.gradle.indle.progress.DefaultBuildOper的org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner $ 1.run(RunAsBuildOperationBuildActionRunner.java:43)上的org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32) ationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java: 199)org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40)at org.gradle.tooling.internal.provider .subscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47)org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)at at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)at org . gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:80)at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter . 在org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:32)的org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:57)执行(ContinuousBuildActionExecuter.java:53) org.gradle.todle.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)at org.gradle.tooling.internal org.gradle.tooling.inter中的.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43) nal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:69)at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute( StartParamsValidatingActionExecuter.java:30)at在org.gradle.tooling.internal的org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44)上的org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59) . or.S.gradle.launcher.doe中的org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java :)的provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:45)org.gradle.launcher.daemon.server.exec .ExecuteBuild.doBuild( ExecuteBuild.java:67)org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java: 122)org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)at org .gradle.launcher.d aemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)位于org.gradle.launcher.daemon.server的org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) . 在org.gradle.launcher.daemon.server.exec.ForwardClientInput $ 2的org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)上的exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34) .call(ForwardClientInput.java:74)org.gradle.launcher.daemon.server.exe.ForwardClientInput $ 2.call(ForwardClientInput.java:72)atg.gradle.util.Swapper.swap(Swapper.java:38)在org.gradle的org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) org.gradle.launcher.daemon.server.api.DaemonComma上的.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55) ndExecution.proceed(DaemonCommandExecution.java:122)org.gradle.launcher.daemon.server.exe.LogToClient.doBuild(LogToClient.java:62)org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute( BuildCommandOnly.java:36)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java: 82)org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)at org .gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy $ 1.run(StartBuildOrRespondWithBusy.java:50)org.gradle.launcher.daemon.server.DaemonStateCoordinator $ 1.run(DaemonStateCoordinator.java:295)at org.gradle.internal org.gradle.internal.concurrent.Manag中的.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)位于org的java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)的java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)中的edExecutorImpl $ 1.run(ManagedExecutorImpl.java:46) . java.lang.Thread.run中的gradle.internal.concurrent.ThreadFactoryImpl $ ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)(Thread.java:745)引起:com.android.build.gradle.tasks.ResourceException:错误: java.util.concurrent.ExecutionException:com.android.builder.internal.aapt.v2.Aapt2Exception:AAPT2错误:检查日志以获取com.android.build.gradle.tasks.MergeResources.doFullTaskAction(MergeResources.java:296)中的详细信息在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62在java.lang.reflect的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) .Method.invoke(Method.java:498)位于org.gradle.apdle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java)的org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) :46)org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)at atorg.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter $ 1.run(ExecuteActionsTaskExecuter.java:121)org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)org.gradle.internal .progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)org.gradle.internal.progress.DefaultOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java) :110)org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92) . .. 107更多引起:错误:java.util.concurrent.ExecutionException:com.android.builder.internal.aapt.v2.Aapt2Exception:AAPT2错误:检查d的日志来自com.android.ide的com.android.ide.common.res2.MergedResourceWriter.end(MergedResourceWriter.java:332)的com.android.ide.common.res2.DataMerger.mergeData(DataMerger.java:301) . common.res2.ResourceMerger.mergeData(ResourceMerger.java:412)at com.android.build.gradle.tasks.MergeResources.doFullTaskAction(MergeResources.java:285)... 123 more抑制:java.lang.RuntimeException:some file处理失败,请参阅com.android.builder.internal.aapt.QueuedResourceProcessor.waitForAll(QueuedResourceProcessor.java:121)中com.android.builder.internal.aapt.QueuedResourceProcessor.end(QueuedResourceProcessor.java:141)的详细信息 . com.android.builder.internal.aapt.v2.QueueableAapt2.close(QueueableAapt2.java:104)com.android.build.gradle.tasks.MergeResources.doFullTaskAction(MergeResources.java:293)... 123更多由:java.util.concurrent.ExecutionException:java.util.concurrent.ExecutionException:com.android.builder.internal.aapt.v2.Aapt2Exception:AAPT2错误:chec有关详细信息,请参阅com.google.com上的com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503),网址为com.google.com.util.concurrent.AbstractFuture.get(AbstractFuture.java:462) .common.util.concurrent.AbstractFuture $ TrustedFuture.get(AbstractFuture.java:79)at com.android.ide.common.res2.MergedResourceWriter.end(MergedResourceWriter.java:327)... 126 more引起:java . util.concurrent.ExecutionException:com.android.builder.internal.aapt.v2.Aapt2Exception:AAPT2错误:检查日志以获取com的com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)中的详细信息.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:462)位于com.android.builder.internal的com.google.common.util.concurrent.AbstractFuture $ TrustedFuture.get(AbstractFuture.java:79) .aapt.v2.QueueableAapt2.lambda $在$ java.util.concurrent.Thread的java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)中编译$ 0(QueueableAapt2.java:136) PoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)... 1更多引起:com.android.builder.internal.aapt.v2.Aapt2Exception:AAPT2错误:检查日志以获取com.android.builder.png中的详细信息 . AaptProcess $ NotifierProcessOutput.handleOutput(AaptProcess.java:443)at com.android.builder.png.AaptProcess $ NotifierProcessOutput.err(AaptProcess.java:395)at com.android.builder.png.AaptProcess $ ProcessOutputFacade.err(AaptProcess . java:312)at com.android.utils.GrabProcessOutput $ 1.run(GrabProcessOutput.java:104)

应用程序在模拟器上正常运行,但只有在生成签名APK时才会出现此问题 . 我试图禁用AAPT2但是没有用

1 回答

  • 4

    所以我发现真正的问题出在PNG文件中 . 某些文件必须已列为PNG,但不是.PNG .

    您可以通过在Linux终端的Android终端中编写以下命令来找到这样的图像列表

    find . -type f -name "*.png" | xargs -L 1 -I{} file  -I {} | grep -v 'image/png; charset=binary$'
    

    获取列表后,我使用了this site将它们转换为PNG . 然后我能够生成签名的apk .

相关问题