【问题标题】:How do I package a NPAPI plugin for chrome in linux?如何在 linux 中为 chrome 打包一个 NPAPI 插件?
【发布时间】:2014-02-19 09:11:04
【问题描述】:

我用 FireBreath 开发了一个 NPAPI 插件。我已经阅读了 Chrome NPAPI PluginsGoogle Chrome Extensions and NPAPI 上的方法,然后按照这种方式将我的 npapi.so 文件包含在 manifest.json 中,如下所示:

"plugins": [   
    { "path": "linux_npapi.so" }
]

其实我是把我的插件文件打包成.crx并安装成功,但是当我运行我的测试页面时,插件似乎没有工作。 我已经尝试将我的插件打包到 .xpi 中,并且在 firefox 上运行良好。然后我按照Deploying and updating your plugin 的方法将我的插件文件复制到~/.mozilla/plugins 中。它在 Firefox 上也可以正常工作,但仍然无法在 chrome 上工作。 :( 而且我的插件没有显示在 chrome://plugins 页面中。

如何在 linux 中为 chrome 打包一个 NPAPI 插件?

Chrome 版本是 32.0.1700.107。

任何帮助将不胜感激...

谢谢...

【问题讨论】:

  • 32 位? 64位?听起来 Chrome 不喜欢它,所以这个问题不太可能与它是一个扩展有关。它是否可以在同一台计算机上的其他浏览器中运行?
  • 我的系统是 64 位 Fedora 19。该插件在 Firefox 中运行良好。我又测试了一下,chrome好像没有加载插件...
  • 仔细检查以确保您使用的是 64 位版本的 chrome
  • 问题解决了!非常感谢!我检查了我的 chrome 并发现插件加载到 64 位 chrome 中,但它没有加载到 32 位 chrome 中。我对此很困惑。所以我尝试找到我的插件的 .so 文件。当我在 64 位 chrome 上安装带有扩展页面的插件时,.so 文件的路径是 /root/.config/google-chrome/Default/Extensions 。当我卸载 64 位 chrome 并安装 32 位 chrome 时,插件显示在32 位 chrome 上的扩展页面,但插件似乎没有加载到其中。你知道为什么会这样吗?非常感谢...
  • 我尝试将 .so 文件复制到 ~/.mozilla/plugins 中,然后在 64 位和 32 位 chrome 上进行测试。同样的问题表明,插件不是在 32 位 chrome 上加载,而是在 64 位 chrome 上加载。你能向我解释为什么会这样吗?谢谢...

标签: google-chrome plugins google-chrome-extension firebreath


【解决方案1】:

当您在 linux 上构建插件时,您可以构建 32 位或 64 位。如果您构建它 32 位,它将在 32 位浏览器中加载,而 64 位将在 64 位浏览器中加载。您需要确保根据需要正确构建它。

这听起来像是您的问题 - 您正在尝试在 64 位进程上加载 32 位插件和/或反之亦然。那是行不通的。

不幸的是,我不知道如何让 cmake 在 64 位系统上构建 32 位。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多