如何使用firefox自定义版本打包插件

时间:2017-05-10 11:55:56

标签: linux firefox firefox-addon

操作系统:Ubuntu 16 64位

我正在尝试从头开始为Ubuntu构建firefox。我已经下载了源代码并按照here的说明构建了它。建筑很成功,当我跑mach run时,我遇到了一个全新的firefox欢迎屏幕。

我计划添加自定义插件并稍微更改GUI以创建自定义版本的Firefox。所以我有一些我想要的插件的xpi个文件。要在构建期间添加加载项,根据Mozilla文档,我们需要在分发/扩展文件夹中添加扩展。

我查看了这个目录的源代码目录结构,并在源代码根目录中找到它,如下所示。 enter image description here

我将这些xpi文件直接放到该文件夹​​中并再次构建Firefox,但在执行mach run时无法找到集成的加载项。

我的第二个想法是将xpi文件添加到构建过程生成的extensions文件夹中。即在src/mozilla-central/obj-x86_64-pc-linux-gnu/extensions文件夹下。我把它们放在那里并再次执行mach run但仍然没有成功。

然后我发现最终的Firefox可执行文件位于heresrc/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin目录下。所以我手动创建了一个名为extensions的文件夹,并将xpi放在那里。再次不成功。

现在我没有想法。怎么做到这一点?我找不到任何解释这个的其他文档。可能是我错过了什么。有人可以帮助我实现这个目标吗?

1 个答案:

答案 0 :(得分:3)

documented way to do this .xpi 文件包含在目录中: [Firefox安装目录] /分发/扩展
然后,在首次使用该版本的Firefox时,该加载项将安装在(复制到)每个配置文件中。每个配置文件中的扩展名副本将使用常规自动更新程序自动更新。实际上,附加组件将被视为在每个配置文件中单独安装。系统不会要求用户确认加载项的安装。

加载项文件名必须采用 addonID.xpi 的形式,其中addonID是加载项中的<em:id> field中定义的加载项ID&# 39; s install.rdf 文件。对于基于WebExtensions的扩展,这是 manifest.json applications.gecko.id field中定义的附加ID。

如果您将附加 .xpi 文件放在 [Firefox安装目录] / browser / extensions 目录中,它也可以使用。但是,任何unpacked extension必须放在解压缩状态(即从 .xpi 文件中解压缩)。

有关详细信息,请参阅:

这个答案是从我对Integrating an add-on into a custom Firefox build的回答中复制的,然后进行了修改。