在尝试在本地安装时,Mozilla签署的Firefox附加组件“似乎已损坏”

时间:2017-09-18 20:31:20

标签: firefox firefox-addon

我创建了一个简单的Firefox扩展(使用WebExtensions),我想在Firefox中每天使用它,而不是在addons.mozilla.org(AMO)上发布它。我能够暂时安装它,并通过转到about:debugging,单击“加载临时加载项”按钮,然后打开manifest.json文件来验证它是否正常工作。

由于每次重新启动Firefox时我都想使用扩展而不必经过该过程,我将其打包成XPI文件并尝试像常规本地扩展一样安装它。我将两个文件(manifest.json,content_script.js)和一个目录(icons /)存档到ZIP文件中,并将其重命名为test.xpi。在about:addons,我点击齿轮图标,选择“从文件安装加载项”,然后选择test.xpi文件。但Firefox总是给我错误

  

“无法安装此附加组件,因为它似乎已损坏”。

在创建ZIP文件时,我小心翼翼地将清单文件保留在存档的顶部,并did not include the containing folder itself。我尝试在本地安装XPI文件时遵循some detailed instructions,甚至安装了Cygwin以访问指令中提到的“zip”实用程序,但我无法在任何Cygwin中找到该实用程序文件夹。

为了查看问题是否缺少Mozilla签名,我将其提交给AMO(addons.mozilla.org)进行签名。 AMO签名并向我提供了一个新的XPI文件,我认为该文件在签名后可以安装。但是这个正式创建并签名的XPI文件仍然存在错误,即它已损坏。

有没有人有关于如何弄清楚导致这种情况的想法?

1 个答案:

答案 0 :(得分:2)

我能够解决这个问题:事实证明,清单需要一个“id”属性,即使Mozilla documentation声称没有:“但是,从Firefox 48开始,您可以开发,调试,发布和更新扩展而不需要设置显式ID。“和“你什么时候需要一个附加ID?如果你从它的[原文如此] XPI文件加载附加组件,暂时不使用about:debugging来加载它,它没有签名[我的XPI文件被签名]”