アプリケーションのパッケージング
Electronでアプリを配布するには、アプリをパッケージ化してブランド変更する必要があります。これを行うには、専用のツールを使用するか、手動でアプローチする方法があります。
ツールを使用する
Electronアプリをパッケージ化して配布するためのツールがいくつか存在します。 Electron Forgeを使用することをお勧めします。そのドキュメントを直接確認するか、Electronチュートリアルのパッケージングと配布の部分を参照してください。
手動パッケージング
手動のアプローチを好む場合、アプリケーションを配布する方法は2つあります。
- プリビルドバイナリを使用する
- アプリのソースコードアーカイブを使用する
プリビルドバイナリを使用する
アプリを手動で配布するには、Electronのプリビルドバイナリをダウンロードする必要があります。次に、アプリを含むフォルダーの名前をapp
にし、次の例に示すように、Electronのリソースディレクトリに配置する必要があります。
Electronのプリビルドバイナリの場所は、以下の例ではelectron/
で示されています。
electron/Electron.app/Contents/Resources/app/
├── package.json
├── main.js
└── index.html
electron/resources/app
├── package.json
├── main.js
└── index.html
次に、macOSでElectron.app
、Linuxでelectron
、またはWindowsでelectron.exe
を実行すると、Electronがアプリとして起動します。次に、electron
ディレクトリが、ユーザーに配信する配布物になります。
アプリのソースコードアーカイブ (asar) を使用する
すべてのソースファイルをコピーしてアプリを配布する代わりに、ParcelやWebpackなどのバンドラーを既に使用していない場合は、asarアーカイブにアプリをパッケージ化して、Windowsなどのプラットフォームでのファイル読み取りのパフォーマンスを向上させることができます。
asar
アーカイブを使用してapp
フォルダーを置き換えるには、アーカイブの名前をapp.asar
に変更し、以下のようにElectronのリソースディレクトリに配置する必要があります。すると、Electronはアーカイブを読み取ってそこから起動しようとします。
electron/Electron.app/Contents/Resources/
└── app.asar
electron/resources/
└── app.asar
asar
の使用方法の詳細については、electron/asar
リポジトリを参照してください。
ダウンロードしたバイナリを使用したブランド変更
アプリをElectronにバンドルしたら、ユーザーに配布する前にElectronのブランドを変更する必要があります。
-
Windows:
electron.exe
の名前を任意の名前に変更し、rceditなどのツールを使用してアイコンやその他の情報を編集できます。 -
Linux:
electron
実行ファイルの名前を任意の名前に変更できます。 -
macOS:
Electron.app
の名前を任意の名前に変更できます。また、次のファイルでCFBundleDisplayName
、CFBundleIdentifier
、CFBundleName
フィールドの名前も変更する必要があります。Electron.app/Contents/Info.plist
Electron.app/Contents/Frameworks/Electron Helper.app/Contents/Info.plist
Activity Monitorに
Electron Helper
が表示されないように、ヘルパーアプリの名前を変更することもできますが、ヘルパーアプリの実行可能ファイルの名前が変更されていることを確認してください。名前変更されたアプリの構造は次のようになります
MyApp.app/Contents
├── Info.plist
├── MacOS/
│ └── MyApp
└── Frameworks/
└── MyApp Helper.app
├── Info.plist
└── MacOS/
└── MyApp Helper
製品名を変更してソースからビルドすることで、Electronのブランドを変更することも可能です。これを行うには、args.gn
ファイルで製品名に対応するビルド引数(electron_product_name = "YourProductName"
)を設定して、再ビルドする必要があります。
ソースからコンパイルするための環境をセットアップするのは簡単ではなく、かなりの時間がかかるため、これは推奨されないことに注意してください。