Chrome 拡張機能のインストールで“マニフェスト ファイルが無効です”というエラーが発生する

Chrome 拡張機能を更新しようと思い、ダッシュボードから zip をアップし、反映されたのを確認して、再インストールしたら「マニフェスト ファイルが無効です」というエラーが表示されました。

色々と試した結果、原因は browser_action.default_icon のフォーマットでした。

以下がエラーが出たときの browser_action.default_icon です。

{
  "name": "__MSG_ext_name__",
  "description": "__MSG_ext_description__",
  "default_locale": "en",
  "background": {
    "page": "background.html"
  },
  "browser_action": {
    "default_popup": "popup.html",
    "default_icon": "images/19.png"
  }
  ...
}

こちらはエラーが出なくなったときの browser_action.default_icon です。

{
  "name": "__MSG_ext_name__",
  "description": "__MSG_ext_description__",
  "default_locale": "en",
  "background": {
    "page": "background.html"
  },
  "browser_action": {
    "default_popup": "popup.html",
    "default_icon": {
      "19": "images/19.png",
      "38": "images/38.png"
    }
  }
  ...
}

サイズを明記して記述することでエラーが解消しました。

以前(2012 年 12 月頃)に更新した際には、このフォーマットでも大丈夫だったので Chrome 側の不具合かもしれません。

この browser_action.default_icon については “chrome.browserAction - Google Chrome” に載っています。

Manifest Version 2 への移行がお済みでない方は “Chrome 拡張機能・アプリを Manifest Version 2 に対応させる” も参考に。

参考記事