如何在电子的生产版本上运行闪存?

Posted

技术标签:

【中文标题】如何在电子的生产版本上运行闪存?【英文标题】:How to run flash on a production build of electron? 【发布时间】:2021-06-27 22:47:34 【问题描述】:

我正在使用 React 创建一个电子应用程序。它在开发环境中成功播放 Flash,但在生产环境中无法播放。在我的 electron.js 文件(主文件)中,我添加了一个 if-else 以在电子生成构建时将 dll 定位到不同的文件夹。

在 electron.js 中,我使用这一行来在播放 flash 时包含 dll。

switch (process.platform) 
  case 'win32':
    pluginName = 'plugins/pepperflashplugin.dll'
    break
  case 'darwin':
    pluginName = 'plugins/PepperFlashPlayer.plugin'
    break
  case 'linux':
    pluginName = 'plugins/libpepflashplayer.so'
    break
  default:
    break

    isDev ? app.commandLine.appendSwitch('ppapi-flash-path', path.join(__dirname, pluginName)) :
      app.commandLine.appendSwitch('ppapi-flash-path', 'resources/extraResources', pluginName);

这是我的 package.json 的构建字段

  "build": 
    "appId": "com.fp.uav",
    "files": [
      "build/",
      "node_modules/**/*"
    ],
    "extraResources": [
      
        "from": "public/plugins/",
        "to": "extraResources",
        "filter": [
          "**/*"
        ]
      
    ],
    "win": 
      "icon": "public/assets/UAV.ico"
    
  

发生的情况是我构建项目,然后 electron-builder 使用我构建文件夹中的文件,然后它将生产构建放入 dist。

如果有帮助,这是我的文件夹结构。

感谢任何帮助。谢谢!

【问题讨论】:

【参考方案1】:

我已将此语句添加到我的 main.js 或本例中的 electron.js 中

app.commandLine.appendSwitch('no-sandbox');

这在不同的插件上有所说明,但存在相同的问题,生产版本在此处显示“无法加载插件”:

https://github.com/Kagami/mpv.js/issues/51

【讨论】:

以上是关于如何在电子的生产版本上运行闪存?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 USB 闪存驱动器插入上运行 Python 脚本

从电子/聚合物中的嵌入式闪存打印

如何构建 next.js 生产?

如何使用 gdb 在目标 ARM MCU 上调试闪存程序

如何在 STM32 微控制器上的两个程序之间共享单段闪存

如何使用无头镀铬在 Selenium 中启用闪存