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

Muh*_*zan 3 java android

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

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

org.gradle.api.tasks.TaskExecutionException:任务 ':app:mergeReleaseResources' 执行失败。在 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.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62) at org.gradle.api. .tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) 在 org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.execute(ValidatingTaskExecuter.

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

Aar*_*del 5

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

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

find . -type f -name "*.png" | xargs -L 1 -I{} file  -I {} | grep -v 'image/png; charset=binary$'
Run Code Online (Sandbox Code Playgroud)

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