java - 错误: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 但没有用
解决方案
所以我发现真正的问题出在 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。
推荐阅读
- xcode - OSX 12.3 - 测试运行器在启动后从未开始执行测试
- java - 检查日期是否早于 x 天(仅限工作日)
- javascript - Prettier/Lint 规则更改函数参数/对象属性的格式/缩进行为
- prestashop - 你能告诉我如何用prestashop 1.7版重定向吗?
- android - 是否可以在不从应用源重新构建的情况下将 .apk 转换为 .aab?
- python - Pyautogui 不点击线程或子处理?
- ruby - 使用包括acts_as_taggable标签搜索在内的选择选项创建高级搜索
- extjs - 如何在 Ext.XTemplate 中使用西里尔文 var 名称
- javascript - 使用 Hapi 映射对象 Restfull API 数组
- r - 使用行中的常用选项集和顶部的问题构建交叉表