应用分发 | Application Distribution
Application Distribution
要使用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等工具编辑其图标和其他信息。
MacOS
您可以重命名Electron.app
,以任何你想要的名字,你也可以重命名CFBundleDisplayName
,CFBundleIdentifier
并且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 EH.app
| ├── Info.plist
| └── MacOS/
| └── MyApp Helper EH
├── MyApp Helper NP.app
| ├── Info.plist
| └── MacOS/
| └── MyApp Helper NP
└── MyApp Helper.app
├── Info.plist
└── MacOS/
└── MyApp Helper
Linux
您可以将electron
可执行文件重命名为您喜欢的任何名称。
包装工具
除了手动打包应用程序外,您还可以选择使用第三方打包工具为您完成这项工作:
从源头重建Electron的品牌重塑
也可以通过更改产品名称并从源代码构建来更名Electron。要做到这一点,你需要修改atom.gyp
文件并进行干净的重建。
创建自定义Electron分支
创建Electron的自定义分支几乎不是您需要为构建应用程序而做的事情,即使是“Production Level”应用程序也是如此。使用诸如electron-packager
或electron-forge
可以让您“重新品牌”电子工具,而无需执行这些步骤。
如果您已将自定义的C ++代码直接修补到Electron中,那么您需要将Electron分叉,即无法将其升级为Electron,或者已经被正式版本拒绝。作为Electron的维护者,我们非常希望能够使您的方案发挥作用,所以请尽可能努力地将您的更改纳入Electron的正式版本中,这对您来说会容易得多,我们感谢您的帮助。
使用surf-build创建自定义发布
- 通过npm 安装Surf:
npm install -g surf-build@latest
- 创建一个新的S3存储桶并创建以下空目录结构:
- atom-shell/ - symbols/ - dist/
- 设置以下环境变量:
ELECTRON_GITHUB_TOKEN
- 一个可以在GitHub上创建发布的令牌
ELECTRON_S3_ACCESS_KEY
,ELECTRON_S3_BUCKET
,ELECTRON_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
- 设置为ia32
或x64
- 在
script/upload.py
,你必须
设置ELECTRON_REPO
你的fork(MYORG/electron
),特别是如果你是Electron的贡献者。
surf-build -r https://github.com/MYORG/electron -s YOUR_COMMIT -n 'surf-PLATFORM-ARCH'
- 等待很长时间才能完成构建。