Capacitor CLIは、iOS、Android、Webプラットフォーム向けのアプリのビルドプロセスをカスタマイズできるようにします。ビルドスクリプトを調整することで、次のことが可能になります:
- 速度を上げる: アプリストアの遅延なしで即時更新が可能になる。
- デプロイの制御: 更新を戻すか、特定のユーザーグループにターゲットすることができる。
- アプリのセキュリティ: 更新を暗号化して保護することができる。
- ビルドの最適化: プラットフォームごとのニーズに合わせて設定を調整することができる。
主な機能のクイックオーバー:
- 構成ファイル: 使用
capacitor.config.jsonとpackage.jsonを管理する - カスタム スクリプト: プリビルドとポストビルドタスクを追加して自動化
- ビルド ホック: code をビルドプロセスの特定のステージで実行
- 環境変数: 環境固有のビルドを簡素化する
.env__CAPGO_KEEP_0__
Capgoこのプロセスを強化 自動更新バージョン追跡、グローバルパフォーマンス最適化など。続きを読むと、最大効率でビルドスクリプトを設定してカスタマイズする方法を学ぶことができます。
Capacitorを用いた Capacitor 設定

Default Build Process in Capacitor
Understanding how Capacitor handles its default build process is crucial if you want to customize it effectively. Below, we’ll break down the Capacitor CLI’s build process and its key configuration files.
標準ビルド手順
Capacitor uses a step-by-step process to transform your web app into platform-specific builds. Here’s what happens during the default build process:
| フェーズ | 概要 | 出力 |
|---|---|---|
| Web ビルド | フレームワークツールを使用してWebアセットをコンパイルします | 最適化されたWebバンドル |
| アセットのコピー | Webアセットをネイティブプラットフォームのフォルダに移動します | プラットフォーム固有のアセットディレクトリ |
| ネイティブビルド | プラットフォーム固有のビルドコマンドを実行します | 展開可能なバイナリ |
| 検証 | チェックビルドの整合性と依存関係 | ビルドの状態と警告 |
メインの設定ファイル
Two key configuration files shape how Capacitor handles your builds:
capacitor.config.json
This is the core configuration file for your Capacitor project. It sets important parameters for your builds:
{
"appId": "com.example.app",
"appName": "MyApp",
"webDir": "dist",
"bundledWebRuntime": false,
"plugins": {
"SplashScreen": {
"launchShowDuration": 3000
}
}
}
appId: アプリのユニークな識別子です。appName: アプリの名前です。webDir: Specifies where Capacitor should look for the web assets (e.g.,dist).plugins: プラグイン固有の設定をカスタマイズできます。
: スクリーンセーバーオプションを設定できます。
package.json
{
"scripts": {
"build": "npm run build:web && cap sync",
"build:web": "vite build",
"cap:build": "cap build"
}
}
- The
webDir設定capacitor.config.jsonCapacitor - 変更
capacitor.config.json__CAPGO_KEEP_0__cap syncを実行
Next
ビルドスクリプトの変更
Capacitor
のデフォルトのビルドプロセス
Config File Settings capacitor.config.json __CAPGO_KEEP_0__
{
"appId": "com.example.app",
"webDir": "www",
"server": {
"hostname": "localhost",
"androidScheme": "https",
"iosScheme": "https",
"allowNavigation": ["*.example.com"]
},
"android": {
"buildOptions": {
"keystorePath": "release.keystore",
"keystorePassword": "mypassword",
"keystoreAlias": "release",
"keystoreAliasPassword": "mypassword"
}
},
"ios": {
"scheme": "App",
"automaticProvisioning": true
}
}
ここでは、カスタマイズできる重要な設定を紹介します。
webDir: コンパイルされたWebアセットの場所を指定します。server: 開発サーバーの設定、ホスト名、ナビゲーション許可を含みます。android/ios: プラットフォーム固有のビルド設定、Androidのキーストア詳細、iOSのプロビジョニングオプションなどを設定します。
Creating NPM Scripts
To streamline your workflow, add custom NPM scripts to your package.json ここに例があります。
{
"scripts": {
"prebuild": "node ./scripts/prepare-env.js",
"build": "npm run build:web && cap sync",
"build:web": "vite build",
"build:ios": "cap build ios --release",
"build:android": "cap build android --release",
"postbuild": "node ./scripts/notify-completion.js"
}
}
prebuildファイルpostbuild環境設定やビルド完了時に通知を送信するようなタスクに使用してください。build:platform: AndroidアプリまたはiOSアプリのビルド用のプラットフォーム固有のコマンドを使用します。
ビルドの自動化をさらに進めるには、ビルドホックを追加してください。
ビルドホックの設定
より高度な制御を実現するには、ビルドプロセスにおける特定のポイントでカスタムcodeを実行するビルドホックを使用します。ここでは、ビルドプロセスにおけるカスタムcodeの実行方法を示します。 capacitor.config.ts:
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.example.app',
plugins: {
CapacitorHooks: {
beforeBuild: async () => {
console.log('Running pre-build tasks...');
// Add your pre-build tasks here
},
afterBuild: async () => {
console.log('Running post-build tasks...');
// Add your post-build tasks here
}
}
}
};
export default config;
ビルドホックを使用すると、以下のことが実行できます:
- ビルドが開始される前に、要件を検証する
- ビルドプロセス中のアセットを変換する
- 重要なポイントで通知をトリガーする
- 自動的にバージョン番号を更新する
- 自動テストをスムーズに実行する
このアプローチにより、ビルドライフサイクル全体に対するより高い柔軟性と制御が実現されます。
高度なビルドカスタマイズ
大規模プロジェクトで作業する場合、ビルドプロセスを微調整することで大きな違いが生まれます。ここでは、環境固有のビルドとプラットフォームカスタマイズを効果的に実行する方法を示します。
環境変数
環境変数を設定するには、別々の .env 環境ごとのファイル:
.env.development.env.staging.env.production
次に、環境に応じて適切なファイルを読み込むようにビルドスクリプトを設定します:
import { defineConfig } from '@capacitor/cli';
export default defineConfig({
ios: {
buildConfig: {
environment: process.env.BUILD_ENV || 'development',
configurations: {
development: {
signing: {
debug: true,
automaticProvisioning: true
}
},
production: {
signing: {
release: true,
provisioningProfile: 'dist/profile.mobileprovision'
}
}
}
}
}
});
これらの設定をさらに調整して、プラットフォーム固有の要件に合わせることができます。
プラットフォーム固有のビルド
AndroidとiOS用のビルドをカスタマイズするには、以下の構造を使用します:
const platformConfig = {
android: {
buildType: process.env.BUILD_TYPE || 'debug',
keystoreConfig: {
path: process.env.KEYSTORE_PATH,
password: process.env.KEYSTORE_PASSWORD,
alias: process.env.KEYSTORE_ALIAS
}
},
ios: {
scheme: process.env.APP_SCHEME || 'App',
xcodePreferences: {
automaticSigning: false,
developmentTeam: process.env.DEVELOPMENT_TEAM
}
}
};
これらの設定により、各プラットフォーム用にビルドをカスタマイズし、スムーズなデプロイを実現できます。
| 機能 | Android | iOS |
|---|---|---|
| デバッグシンボル | ProGuard マッピングファイル | dSYMファイル |
| ビルドバリアント | debug、リリース、ステージング | debug、リリース |
| Code署名 | キーストア管理 | プロビジョニングプロファイル |
| アセット管理 | res/drawable最適化 | アセットカタログ |
ビルドを最適化するための追加のヒントには、次のものがあります。
- パーティアルアップデートを使用して、デプロイメント中の時間を節約する
- エラー追跡の設定
- ベータ版のチャンネルシステムの作成
- エンドツーエンド暗号化の有効化
Capgoと組み合わせた分析と安全な更新のためのツールとともに、これらのテクニックは、デプロイメントプロセスをより制御するのに役立ちます。 [1].
ビルドスクリプトの問題と解決策
カスタムビルド構成とともに、エラーを迅速に解決することは、ビルドプロセスを正常に実行するために不可欠です。
よくあるエラーの修正
多くのビルドスクリプトの問題は、環境設定または依存関係の問題から生じます。ここでは、よくあるものを解決する方法を紹介します。
環境変数の欠如
次のようなエラーが発生した場合:
error: Cannot find environment configuration for BUILD_ENV
エラーを解決するには、プロジェクトのルートディレクトリにファイルを作成します。ここに例があります。 .env.local ファイルの作成
BUILD_ENV=development
CAPACITOR_PLATFORM=ios
BUILD_TYPE=debug
プラットフォーム依存のビルドエラー
Androidの署名エラーの場合、次のコマンドを使用してください。
npx cap build android --keystorePassword=$KEYSTORE_PASSWORD --keystoreAlias=$KEYSTORE_ALIAS
iOSのプロビジョニングプロファイルの問題の場合、次のことを試してください。
npx cap build ios --configuration=release --type=development
| エラータイプ | 一般的な原因 | 解決策 |
|---|---|---|
| 署名設定 | キーストアの詳細が欠落している | 設定 KEYSTORE_PATH とクレデンシャル |
| ビルド環境 | 未定義の変数 | プラットフォーム固有のファイルを作成する .env ファイル |
| 依存関係 | バージョン不一致 | 更新 package.json Sync |
修正を適用した後、変更が確実であることを確認するには、徹底的なビルドテストを実行してください。
ビルドスクリプトのテスト
エラーが解決されたら、次の手順でビルドスクリプトを検証してください。
- 自動検証: ビルドプロセスが予想どおりに動作することを確認するために、重要なコマンドを実行します。
npm run build
npx cap sync
npx cap copy
- 環境検証: ビルド前に環境変数が不足していないか確認してください。
const requiredVars = ['BUILD_ENV', 'KEYSTORE_PATH'];
requiredVars.forEach(varName => {
if (!process.env[varName]) {
throw new Error(`Missing required env var: ${varName}`);
}
});
- ビルドスクリプトのデバッグ: ビルド中に発生する可能性のある問題をキャッチするための詳細なスクリプトを追加してください。
{
"scripts": {
"build:debug": "NODE_ENV=development npx cap build --verbose",
"build:release": "NODE_ENV=production npx cap build --verbose"
}
}
テストに役立つ追加のヒント
- 使用 Docker コンテナを使用してビルドを分離してください。
- ビルドを開始する前に、構成ファイルを検証してください。
- 複数の Node.js バージョンでテストしてください。
- プラットフォーム固有の要件が満たされていることを確認してください。
- __CAPGO_KEEP_0__
Capgo __CAPGO_KEEP_0__

Capgo Live Update ダッシュボード インターフェース
__CAPGO_KEEP_0__はビルドスクリプトを自動化した自動展開機能で、効率を高め、プロセスを簡素化します。
Capgo’s update performance is impressive:
- __CAPGO_KEEP_0__の更新パフォーマンスは驚くほど優れています: 95%のアクティブユーザー
- 24時間以内に更新を受け取る 82%の成功率
- An average API response time of 434ms全体.
このプラットフォームでは、パッチアップデートを使用しています。これにより、変更された部分のみがダウンロードされます。このアプローチにより、バンド幅の使用量が削減され、更新プロセスが速くなります。さらに、ビルド全体のプロセスは完全に自動化され、時間と労力が節約されます。
ビルド自動化
Capgoは主なCI/CDプラットフォームと組み合わせて、さまざまな統合を提供します:
| CI/CDプラットフォーム | 統合機能 | 利点 |
|---|---|---|
| GitHubアクション | 自動ビルド、デプロイトリガー | 継続的デプロイ |
| GitLab CI | パイプライン自動化、バージョン管理 | フローを最適化 |
| Jenkins | カスタムワークフロー、ビルドハック | 企業向けに拡張可能 |
自動ビルドを設定するには通常、 1 か月あたり 3,000 ドル、これは、従来のソリューションと比較して、最大 6,000 ドルまでの年間コストに比べ、かなり予算に優しいです。 セキュリティ基準.
__CAPGO_KEEP_0__は、以下のセキュリティ強化機能を備えた堅牢なフレームワークを優先しています。
Capgo prioritizes security with a robust framework that includes:
- 鍵の管理がセキュアです。
- __CAPGO_KEEP_0__
- AppleとGoogleのガイドラインへの適合性。
バージョン管理機能。
- 即時ロールバックオプション。
- デプロイメントバージョン追跡。
- ステージドリリース用のアップデートチャンネル管理。
このセキュリティフレームワークは、数百のエンタープライズアプリケーションを通じて厳密にテストされています。追加のセキュリティが必要なチームには、Capgoも自社ホストのソリューションを提供し、カスタマイズ可能な構成を提供します。
Capgoのチャンネルシステムは、更新の配布を柔軟にします。開発者は、特定のユーザーグループに異なるバージョンをターゲットにすることができ、ベータテストや段階的なロールアウトに適しています。
概要。
ビルドステップの概要。
カスタムビルドスクリプトは、ビルドホック、環境変数、プラットフォーム固有のコマンドを利用して、自動化されたおよび一貫したデプロイメントを実現します。これらのプロセスは、Capgoによって可能になるデプロイメントの改善の基盤を形成します。
Capgoの利点。
Capgoはデプロイメントを簡素化し、750のプロダクションアプリケーションを通じて成功した過去に基づいて、23.5百万の更新を配信しました。 [1]バンド幅の使用量とデプロイ時間を両方とも削減する部分的な更新システムがあります。
プラットフォームは、高速な更新、グローバルなパフォーマンス最適化、端末間の暗号化によるセキュリティ、柔軟なチャネルベースの配布システムを提供します。この設定では、ターゲットされた更新、ベータテスト、App Storeガイドラインへの準拠をサポートしながら、強力なセキュリティフレームワークを維持します。
Keep going from How to Customize Build Scripts with Capacitor CLI
Capacitor CLIを使用している場合、Capacitor CLIのbuildコマンドを使用して、ビルドスクリプトをカスタマイズできます。 How to Customize Build Scripts with Capacitor CLI CI/CD自動化を計画するには、それを接続する Capgo CI/CD for the product workflow in Capgo CI/CD, Capgo 本機ビルド for the product workflow in Capgo Native Builds, Capgo 連携機能 Capacitor CLIで製品ワークフローにCapgo統合を使用します。 CI/CD統合 CI/CD統合の実装詳細については GitHub アクション統合 for the implementation detail in GitHub Actions Integration.