首页 > 解决方案 > 错误:java.util.concurrent.ExecutionException:com.android.builder.internal.aapt.v2.Aapt2Exception:AAPT2 错误:查看日志了解详细信息

问题描述

请不要标记为重复,因为我尝试并浏览了所有标题相似的问题,但没有任何效果,因为他们的日志与我的不同。

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

org.gradle.api.tasks.TaskExecutionException:任务':app:mergeReleaseResources'的执行失败。在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70) 在 org.gradle. .api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) 在 org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62) 在 org.gradle.api.internal .tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) 在 org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.

应用程序在模拟器上运行良好,但此问题仅在生成签名 APK 时出现。我试图禁用 AAPT2 但没有用

标签: javaandroid

解决方案


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

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

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

获得列表后,我使用站点将它们转换为 PNG。然后我能够生成签名的apk。


推荐阅读