Firefox 重新打包Mozilla插件生成器扩展文件时出现问题

Firefox 重新打包Mozilla插件生成器扩展文件时出现问题,firefox,firefox-addon,firefox-addon-sdk,Firefox,Firefox Addon,Firefox Addon Sdk,我在探索Mozilla扩展平台的过程中取得了相当大的进展,但仍有一些问题需要解决。。希望这里有人能再次为我指出正确的方向:) 好的,问题是。。。我一直在这里玩在线插件生成器应用程序: 很好,对于测试简单的插件来说,这似乎是可行的。但它包含了太多多余的垃圾——我不使用也不需要的东西 现在,当我下载.xpi文件,将其重命名为.zip,并将其解压缩以处理这些文件时,当我将其重新打包为zip->xpi时,Firefox告诉我在尝试安装时该包已损坏 我推断这是因为包是“签名”或其他东西,而当我自己重新打包

我在探索Mozilla扩展平台的过程中取得了相当大的进展,但仍有一些问题需要解决。。希望这里有人能再次为我指出正确的方向:)

好的,问题是。。。我一直在这里玩在线插件生成器应用程序:

很好,对于测试简单的插件来说,这似乎是可行的。但它包含了太多多余的垃圾——我不使用也不需要的东西

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

我推断这是因为包是“签名”或其他东西,而当我自己重新打包时,这并没有发生

不管怎样。这太荒谬了

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

问题:


如何使用联机加载项生成器创建基本加载项/扩展,然后在本地编辑文件、重新打包并使用它?

使用SDK创建的加载项当前未签名(请参阅)。包清单中有一堆SHA256校验和,但没有任何东西在验证它们(可能它们是为了通过外部工具进行验证,我不知道)。因此,这不是您遇到的问题

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


通常,我建议不要操纵XPI文件。通过删除未使用的模块,您可能可以节省100KB的下载大小,很可能更少-安装您的插件的人甚至不会注意到下载大小的差异。未使用的模块对附加组件的性能没有任何影响。但你可能会冒着移除一些实际使用的东西的风险,可能是以一种不明显的方式。一旦AMO启动,他们将用标准软件包替换您的附加组件。

再次感谢您的明确解释!:)是的,问题是我正在更改目录结构并删除内容。我停止了这项工作,我最终安装了SDK,实际上我非常喜欢使用shell进行开发以进行调试。对于简单的web应用类型的实现,它的设置要比我习惯的多得多。