【问题标题】:Error: failed to read PNG signature: file does not start with PNG signature错误:无法读取 PNG 签名:文件不以 PNG 签名开头
【发布时间】:2017-12-29 15:52:41
【问题描述】:

我将不同 dpi 文件夹中的默认徽标文件“ic_launcher.png”替换为我自己的文件,也称为“ic_launcher.png”,但现在出现此错误:

错误:无法读取 PNG 签名:文件不以 PNG 开头 签名

在生成 apk 时,我在 mipmap 文件夹中替换的所有 5 个文件

我该如何解决这个问题?

【问题讨论】:

  • 所以你的文件不是 png 格式
  • 不,我仔细检查了,它们是 png
  • 那么file ic_launcher.png 命令的输出是什么?类似:"ic_launcher.png: PNG image data, 557 x 304, 8-bit/color RGB, non-interlaced"?
  • @pskink 作为初学者,我不知道如何使用该命令
  • ic_launcher.png 的前 4 个字节是什么?

标签: android


【解决方案1】:

当您创建 .apk 时,所有资源都会被分析,如果您收到错误消息:

错误:错误:无法读取 PNG 签名:文件不是以 PNG 签名。

此错误是因为您的资源不是真正的 .png 图片、格式不正确、文件已损坏或 .png 文件确实是矢量资源。

您可以通过打开文件进行检查。

【讨论】:

  • 如果图像名称有数字,那将是一个问题。例如,如果在 android studio 之外复制/粘贴。 android studio 无法识别此问题
【解决方案2】:

是的,我也遇到了这个错误,但是您可以通过选择 refactor>rename 并将扩展名重命名为 .jpg 而不是 .png 来解决这个问题,然后重构它就是这样......您将不会再收到错误了

【讨论】:

    【解决方案3】:

    运行这两个命令,看看有没有错误..

    1. ionic cordova resources android --icon
    2. ionic cordova resources android --splash

    如果您遇到任何错误.. 这意味着您的图标和启动画面的 png 尺寸是错误的。所以更正它,然后再次运行这两个命令。

    【讨论】:

      【解决方案4】:

      此错误是由启动器图标引起的(可能已损坏),请先检查您的启动器图标,然后生成签名的 apk。

      【讨论】:

        【解决方案5】:

        我在 Xamarin 表单 (android) 中加载 .png 时遇到了同样的问题。同样的技巧通过将 png 重命名为 .jpg 并相应地更改代码以指向 jpg 而不是 png 来解决问题。

        <Image HeightRequest="200" WidthRequest="200" Source="logo.jpg"/>
        

        也就是说,我认为问题不在于文件格式不正确,其他地方可能有问题。例如,我使用 MS Paint 创建了 png 文件并将图像粘贴到其中。它应该是正确的 png 文件,并且可以在图片编辑器和 Visual Studio 中正常打开。

        奇怪的解决方案。

        附言

        重命名 png 时,需要从项目中删除现有的 png 资源,在资源管理器中重命名文件,然后在 (Visual Studio 2019) 项目中再次添加资源。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-01-17
          • 2021-08-01
          • 1970-01-01
          • 2021-10-14
          • 2014-02-08
          • 2020-08-13
          相关资源
          最近更新 更多