重新打包Mozilla Addon Builder扩展文件的问题

时间:2011-10-06 17:05:52

标签: firefox firefox-addon firefox-addon-sdk

我在寻找Mozilla扩展平台方面取得了相当大的进步,但我仍然在努力解决一些问题。希望有人能够再次指出我正确的方向:)

好的,这就是问题所在......我一直在讨论在线插件构建器应用程序:https://builder.addons.mozilla.org/

很好,这似乎可以用于测试简单的插件。但它包含了很多额外的垃圾 - 我没有使用的东西,也不需要那些东西。

现在,当我下载.xpi文件时,将其重命名为.zip,并将其解压缩以处理文件,当我将其重新打包为zip时 - > xpi,Firefox告诉我,当我尝试安装时,软件包已损坏。

我推断这是因为包裹已经“签名”或者其他东西,当我自己重新包装时,这种情况就不会发生了。

无论。这太荒谬了......

所以我想使用SDK在本地工作,然后只是以某种方式将SDK包含在目录中。但看起来我需要安装python并运行一些东西以便先生成一些文件等等等等等等等等你在开玩笑吧?我不能只编写我的应用程序代码,然后包含SDK文件?

问题:

如何使用在线Addon Builder创建我的基本插件/扩展,然后在本地编辑文件,重新打包并使用它?

1 个答案:

答案 0 :(得分:1)

目前使用SDK创建的加载项未签名(请参阅bug 613618)。包清单中有一堆SHA256校验和,但没有任何验证它们(可能它们是用于外部工具验证,我不知道)。所以这不是你遇到的问题。

最有可能的问题是,当您重新打包ZIP文件时,您没有保留目录结构。 install.rdf文件需要位于包的顶层,而不是某个子目录。您可以使用unzip -l mypackage.xpi进行检查 - 它应列出install.rdf,而不包含任何目录名。

通常,我建议不要操纵XPI文件。通过删除未使用的模块,您可以节省100 kB的下载大小,很可能更少 - 安装附加组件的人甚至不会注意到下载大小的差异。未使用的模块对加载项的性能没有任何影响。但是你冒着删除实际使用的东西的风险,可能是以一种非显而易见的方式。一旦AMO启动repacking SDK add-ons automatically,他们无论如何都会用标准包替换你的附加组件。