如何在manifest.json中指定图标?

How to specify icons in manifest.json?

如何指定manifest.json中的图标?似乎有些使用数组,有些使用字典。例如:

https://developer.chrome.com/webstore/get_started_simple

"icons": {
   "128": "icon_128.png"
},

但是在这个来源中,他们是这样使用的:

https://developers.google.com/web/updates/2014/11/Support-for-installable-web-apps-with-webapp-manifest-in-chrome-38-for-Android?hl=en

  "icons": [
    {
      "src": "launcher-icon-2x.png",
      "sizes": "96x96",
      "type": "image/png"
    },
    {
      "src": "launcher-icon-3x.png",
      "sizes": "144x144",
      "type": "image/png"
    },
    {
      "src": "launcher-icon-4x.png",
      "sizes": "192x192",
      "type": "image/png"
    }
  ],

如果我尝试将我的网络应用程序安装为 chrome 扩展,并且我使用后一种格式,我会收到此错误:

所以我想我需要为此使用第一种格式。但是,如果我尝试将我的应用程序安装为 android 中的渐进式 Web 应用程序,则似乎需要后一种格式...

简短的回答是两者都需要。它们是两个不同的清单文件,用于不同的目的并且位于不同的地方。

对于 Chrome 网上应用店,您将在 getting started tutorial 之后在计算机上本地创建清单。该清单和图标图像将被添加到一个 zip 文件并上传到商店。

"icons": {
  "128": "icon_128.png"
}

对于 installable web apps,您必须创建一个清单文件,将其与图像一起上传到您的网站,然后将您的 HTML 页面更新为 link 到您的清单网站。

  "icons": [
    {
      "src": "launcher-icon-2x.png",
      "sizes": "96x96",
      "type": "image/png"
    },
    {
      "src": "launcher-icon-3x.png",
      "sizes": "144x144",
      "type": "image/png"
    },
    {
      "src": "launcher-icon-4x.png",
      "sizes": "192x192",
      "type": "image/png"
    }
  ]