【问题标题】:How to pack an addon with firefox custom build如何使用 firefox 自定义构建打包插件
【发布时间】:2017-05-10 11:55:55
【问题描述】:

操作系统:Ubuntu 16 64 位

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

我计划添加自定义插件并稍微更改 GUI 以创建自定义版本的 Firefox。所以我有一些我想要的插件的xpi 文件。要在构建过程中添加附加组件,根据 Mozilla 文档,我们需要在 distribution/extensions 文件夹中添加扩展。

我查看了该目录的源代码目录结构,并在源代码根目录中找到它,如下所示。

我将这些xpi 文件直接放在该文件夹中并再次构建了Firefox,但在执行mach run 时找不到集成的插件。

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

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

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

【问题讨论】:

标签: linux firefox firefox-addon


【解决方案1】:

documented way to do this 是将 .xpi 文件包含在目录中的分发包中:
[Firefox 安装目录]/distribution/extensions
然后,在第一次使用带有配置文件的 Firefox 版本时,该插件将安装(复制到)每个配置文件。每个配置文件中的扩展副本将使用正常的自动更新程序自动更新。实际上,插件将被视为单独安装在每个配置文件中。不会要求用户确认安装插件。

插件文件名必须是 addonID.xpi 的形式,其中 addonID 是插件 ID,在插件的 中的 <em:id> field 中定义install.rdf 文件。对于基于 WebExtensions 的扩展,这是 manifest.jsonapplications.gecko.id field 中定义的附加 ID。

如果您将插件 .xpi 文件放在 [Firefox 安装目录]/browser/extensions 目录中,它也可以工作。但是,任何unpacked extension 都必须以解包状态(即从 .xpi 文件中解包)置于此处。

欲了解更多信息,请参阅:

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

【讨论】:

    猜你喜欢
    • 2017-12-18
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多