离子科尔多瓦资源--splash和--icon错误

时间:2019-01-11 23:03:43

标签: cordova ionic-framework npm

我在资源生成器上遇到此错误:
Error: end() has already been called, so it's too late to start piping

我被这个错误困扰。当我尝试生成资源时显示:

PS F:\Desenvolvimento\Ionic\Divas> ionic cordova resources ios -f
√ Collecting resource configuration and source images - done!
√ Filtering out image resources that do not need regeneration - done!
√ Uploading source images to prepare for transformations: 2 / 2 complete - done!
- Generating platform resources: 8 / 32 complete
C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic\node_modules\superagent\lib\node\index.js:859
      throw Error("end() has already been called, so it's too late to start piping");
      ^

Error: end() has already been called, so it's too late to start piping
    at Response.response.pipe (C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic\node_modules\superagent\lib\node\index.js:859:13)
    at Request.req.type.send.on.res (C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic\lib\integrations\cordova\resources.js:166:25)
    at Request.emit (events.js:182:13)
    at Request._emitResponse (C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic\node_modules\superagent\lib\node\index.js:862:8)
    at ClientRequest.req.once.res (C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic\node_modules\superagent\lib\node\index.js:412:10)
    at Object.onceWrapper (events.js:273:13)
    at ClientRequest.emit (events.js:187:15)
    at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:556:21)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:109:17)
    at TLSSocket.socketOnData (_http_client.js:442:20)

我的系统:

Ionic:

   ionic (Ionic CLI)  : 4.7.1 (C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework    : ionic-angular 3.9.2
   @ionic/app-scripts : 3.2.0

Cordova:

   cordova (Cordova CLI) : not installed
   Cordova Platforms     : android 6.3.0
   Cordova Plugins       : cordova-plugin-ionic-webview 1.1.1, (and 8 other plugins)

System:

   NodeJS : v10.15.0 (C:\Program Files\nodejs\node.exe)
   npm    : 6.5.0
   OS     : Windows 10

8 个答案:

答案 0 :(得分:18)

看起来我的图像尺寸不正确。我创建了一个更大尺寸的新图像,它可以正常工作。奇怪的是,没有关于它的消息。

答案 1 :(得分:8)

我遇到了完全相同的错误。我注意到我的icon.png(我创建的图标)是1024x916,它不喜欢它。我将其大小调整为恰好为1024x1024,现在可以正常使用!!!

答案 2 :(得分:7)

启动画面必须为2732×2732px(在此处查看:https://ionicframework.com/docs/cli/cordova/resources/

答案 3 :(得分:2)

您的ionic版本存在问题,其中未记录资源生成中的确切错误。我认为这不是一个已知的错误。

现在,您可以运行npm i -g ionic@3,然后再次运行命令。这将告诉您错误消息。完成后,再次运行npm i -g ionic以更新到Ionic 4。

答案 4 :(得分:2)

理想情况下,源图标应至少为1024×1024px,并位于resources / icon.png。 初始屏幕的源图像理想上应至少为2732×2732px,并位于resources / splash.png中。

答案 5 :(得分:2)

只需调整大小

  1. 图标为1024x1024
  2. 飞溅为2732x2732

然后运行:-

  1. 离子科尔多瓦资源。
  2. ios离子cordova资源android。

As per the docs理想情况下,图标的源图像应至少为1024×1024px,并位于resources / icon.png。理想情况下,初始屏幕的源图像应至少为2732×2732px,并位于resources / splash.png。

答案 6 :(得分:0)

从资源中删除您的splash.png和icon.png文件,然后首先按照要求enter link description here转换您的splash和图标图像,然后将转换后的图像复制并替换到资源目录,然后执行 ionic cordova资源,只有不需要添加平台离子自动生成资源。

答案 7 :(得分:0)

我在linux上遇到了相同的错误:

我的新图标使用Alpha通道(我的错误),但出现此错误。 当我看到此线程时,我知道此工具可能非常明智。 我的图标(新旧)为512 * 512。我的垃圾邮件是2300 * 2400。 =>将所有图像设置为正确的尺寸无效。解决方案是使用gimp“展平”我的图像。

我的结论:不要在图片中使用Alpha通道