应用分发

要使用Electron分发您的应用,您需要对其打包并重新命名。最简单的方法是使用以下第三方打包工具之一:

这些工具将协助您完成可分发的Electron应用程序所需的所有步骤,例如打包应用程序,为可执行文件重新命名,设置正确的图标以及创建安装程序(可选)。

手动分发

您还可以选择手动准备好要分发的应用程序。下面概述了执行此操作所需的步骤。

要使用Electron分发您的应用程序,您需要下载Electron的预构建二进制文件。接下来,应命名包含您的应用程序的文件夹app,并将其放置在Electron的资源目录中,如以下示例所示。请注意,electron/下面示例中显示了Electron预构建二进制文件的位置。

在macOS上:

electron/Electron.app/Contents/Resources/app/
├── package.json
├── main.js
└── index.html
在Windows和Linux上:
electron/resources/app
├── package.json
├── main.js
└── index.html
然后执行Electron.app(或electron在Linux上,electron.exe在Windows上),然后Electron将作为您的应用程序启动。该electron目录将成为您分发给最终用户的分发。

将您的应用打包成文件

除了通过复制所有源文件来交付应用程序外,您还可以将应用程序打包到一个asar归档文件中,以避免将应用程序的源代码暴露给用户。

要使用asar档案替换app文件夹,您需要将档案重命名为app.asar,并将其放在Electron的资源目录下,如下所示,然后Electron会尝试读取档案并从中开始。

在macOS上:

electron/Electron.app/Contents/Resources/
└── app.asar
在Windows和Linux上:
electron/resources/
└── app.asar
可以在应用程序包装中找到更多详细信息。

使用下载的二进制文件重命名

将您的应用绑定到Electron之后,您将需要重新命名Electron,然后再将其分发给用户。

 

Windows

 

您可以重命名electron.exe为您喜欢的任何名称,并使用rcedit之类的工具编辑其图标和其他信息。

Mac系统

您可以重命名Electron.app,以任何你想要的名字,你也可以重命名CFBundleDisplayNameCFBundleIdentifier并且CFBundleName领域在以下文件:

  • Electron.app/Contents/Info.plist
  • Electron.app/Contents/Frameworks/Electron Helper.app/Contents/Info.plist

您也可以重命名帮助程序应用程序以避免Electron Helper在活动监视器中显示,但是请确保已重命名了帮助程序应用程序的可执行文件的名称。

重命名的应用程序的结构如下:

MyApp.app/Contents
├── Info.plist
├── MacOS/
│   └── MyApp
└── Frameworks/
    └── MyApp Helper.app
        ├── Info.plist
        └── MacOS/
            └── MyApp Helper

Linux

您可以将electron可执行文件重命名为您喜欢的任何名称。

通过从源头重建电子来重塑品牌

也可以通过更改产品名称并从源代码构建产品来重命名Electron。为此,您需要在文件中设置与产品名称(electron_product_name = "YourProductName")相对应的build参数,args.gn然后重新生成。

创建自定义Electron Fork

 

几乎可以肯定,即使对于“生产级别”应用程序,创建Electron应用程序的自定义fork也不是要做构建应用程序所需要的。使用诸如electron-packagerelectron-forge工具,您无需进行这些步骤即可“重新标记” Electron。

当您拥有直接打补丁到Electron的自定义C ++代码时,您需要派发Electron,这些代码要么无法上游运行,要么已被正式版本拒绝。作为Electron的维护者,我们非常希望您的方案能够正常工作,因此,请尽最大努力将您的更改添加到Electron的正式版本中,这对您来说会容易得多,感谢您的帮助。

使用Surf-Build创建自定义版本

  1. 通过npm安装Surf: npm install -g surf-build@latest

  2. 创建一个新的S3存储桶并创建以下空目录结构:

    - electron/
      - symbols/
      - dist/
  3. 设置以下环境变量:

  • ELECTRON_GITHUB_TOKEN -可以在GitHub上创建发布的令牌
  • ELECTRON_S3_ACCESS_KEYELECTRON_S3_BUCKETELECTRON_S3_SECRET_KEY-在这里您可以上传Node.js的头以及符号的地方
  • ELECTRON_RELEASE-设置为true,上载部分将运行,保持未设置状态,surf-build并将进行CI类型检查,以适合每个拉取请求运行。
  • CI-设置为true,否则将失败
  • GITHUB_TOKEN -将其设置为与 ELECTRON_GITHUB_TOKEN
  • SURF_TEMP-C:\Temp在Windows上设置为,以防止路径过长
  • TARGET_ARCH-设置为ia32x64
  1. 在中script/upload.py,您必须设置ELECTRON_REPO为fork(MYORG/electron),特别是如果您是Electron属性的贡献者。

  2. surf-build -r https://github.com/MYORG/electron -s YOUR_COMMIT -n 'surf-PLATFORM-ARCH'

  3. 等待很长一段时间才能完成构建。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐