Capacitor CLI ermöglicht Ihnen die Anpassung Ihres Apps-Build-Prozesses für iOS, Android und Web-Plattformen. Durch die Anpassung von Build-Skripten können Sie:
- Schnellere UpdatesPushen Sie Änderungen sofort ohne App-Store-Verzögerungen.
- Deployments steuernRollen Sie Updates zurück oder richten Sie bestimmte Benutzergruppen ein.
- Sichern Sie Ihre AppVerwenden Sie Verschlüsselung, um Updates zu schützen.
- Optimieren Sie BuildsPassen Sie die Einstellungen für Plattform-spezifische Bedürfnisse an.
Rasche Übersicht der Schlüsselfunktionen:
- Konfigurationsdateien: Verwenden Sie
capacitor.config.jsonundpackage.jsonum die Build-Einstellungen zu verwalten. - Benutzerdefinierte Skripte: Fügen Sie Vorbau- und Nachbauaufgaben für die Automatisierung hinzu.
- Aufbau-Hooks: Führen Sie code während bestimmter Phasen des Aufbauprozesses aus.
- Umgebungsvariablen: Vereinfachen Sie umgebungsabhängige Builds mit
.envDateien.
Capgo, ein Bereitstellungs-Tool, verbessert diesen Prozess mit automatischen Updates, Versionsverfolgung und globaler Leistungsoptimierung. Lesen Sie weiter, um zu erfahren, wie Sie Ihre Build-Skripte einrichten und anpassen können, um die Effizienz zu maximieren.
Einführung Capacitor Konfigurieren

Standard-Build-Prozess in Capacitor
Ein Verständnis dafür, wie Capacitor seinen Standard-Build-Prozess handhabt, ist entscheidend, wenn Sie ihn effektiv anpassen möchten. Im Folgenden werden wir den Capacitor CLI-Build-Prozess und seine Schlüsselkonfigurationsdateien aufschlüsseln.
Standard-Bau-Schritte
Capacitor verwendet einen Schritt-für-Schritt-Prozess, um Ihre Web-Anwendung in plattform-spezifische Builds umzuwandeln. Hier ist, was während des Standard-Build-Prozesses passiert:
| Phase | Beschreibung | Ausgabe |
|---|---|---|
| Web Build | Kompiliert Web-Assets mit Ihren Framework-Tools | Optimierter Web-Bundle |
| Copy Assets | Überträgt Web-Assets in native plattform-spezifische Ordner | Plattform-spezifische Asset-Verzeichnisse |
| Native Build | Ausführt plattform-spezifische Build-Befehle | Bereitstellungsbinarys |
| Überprüfung | Überprüft die Integrität der Build und der Abhängigkeiten | Buildstatus und Warnungen |
Hauptkonfigurationsdateien
Zwei Schlüsselkonfigurationsdateien bestimmen, wie Capacitor Ihre Builds verarbeitet:
capacitor.config.json
Dies ist die zentrale Konfigurationsdatei für Ihr Capacitor-Projekt. Sie legt wichtige Parameter für Ihre Builds fest:
{
"appId": "com.example.app",
"appName": "MyApp",
"webDir": "dist",
"bundledWebRuntime": false,
"plugins": {
"SplashScreen": {
"launchShowDuration": 3000
}
}
}
appId: Eine eindeutige Identifikationsnummer für Ihre App.appName: Der Name Ihrer App.webDir: Legt fest, wo Capacitor nach den Web-Assets suchen soll (z.B.dist).plugins: Ermöglicht die Konfiguration von Plugin-spezifischen Einstellungen, wie z.B. Optionen für den SplashScreen.
targetLanguage":"Deutsch","protectedTokens":["Cloudflare","Capacitor","GitHub","Capgo","code","API","SDK","CLI","npm","bun"],"texts":["package.json","Dieses File enthält Build-Skripte und Abhängigkeiten, die den Build-Prozess beeinflussen:","Das","Einstellung in","erzählt __CAPGO_KEEP_0__ wo deine kompilierten Web-Assets für die Einbindung in die nativen Builds zu finden sind.","Nachdem du Änderungen an",",muss du","um sicherzustellen, dass deine nativen Projekte aktualisiert werden.","Als nächstes werden wir Ihnen zeigen, wie Sie diese Einstellungen anpassen können, um Ihre Builds noch weiter anzupassen.","Modifizierung von Build-Skripten","Du kannst die Standard- Build-Prozess von __CAPGO_KEEP_0__ anpassen, um ihn besser an deine Projektbedürfnisse anzupassen. Hier ist wie du das machst:","Konfigurationsdatei-Einstellungen"]
package.json
{
"scripts": {
"build": "npm run build:web && cap sync",
"build:web": "vite build",
"cap:build": "cap build"
}
}
- Dieses File enthält Build-Skripte und Abhängigkeiten, die den Build-Prozess beeinflussen:
webDirDas Einstellung in erzählt __CAPGO_KEEP_0__ wo deine kompilierten Web-Assets für die Einbindung in die nativen Builds zu finden sind.capacitor.config.jsontells Capacitor where to locate your compiled web assets for inclusion in the native builds. - Als nächstes werden wir Ihnen zeigen, wie Sie diese Einstellungen anpassen können, um Ihre Builds noch weiter anzupassen.
capacitor.config.jsonModifizierung von Build-Skriptencap syncDu kannst die Standard- Build-Prozess von __CAPGO_KEEP_0__ anpassen, um ihn besser an deine Projektbedürfnisse anzupassen. Hier ist wie du das machst:
Konfigurationsdatei-Einstellungen
package.json
You can tweak Capacitor’s default build process to better suit your project needs. Here’s how:
Das Einstellung in erzählt __CAPGO_KEEP_0__ wo deine kompilierten Web-Assets für die Einbindung in die nativen Builds zu finden sind.
Sie können den Build-Prozess anpassen, indem Sie das capacitor.config.json Datei bearbeiten. Hier ist ein Beispielkonfiguration:
{
"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
}
}
Hier sind einige Schlüsselinstellungen, die Sie anpassen können:
webDir: Legt den Speicherort Ihrer kompilierten Web-Assets fest.server: Konfiguriert den Entwicklungsserver, einschließlich Hostname und Navigationsberechtigungen.android/ios: Erlaubt plattformspezifische Build-Einstellungen, wie z.B. Keystore-Daten für Android oder Provisionsoptionen für iOS.
Erstellung von NPM-Skripten
Um Ihren Workflow zu vereinfachen, fügen Sie benutzerdefinierte NPM-Skripte Ihrer package.json Datei hinzu. Hier ist ein Beispiel:
{
"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"
}
}
prebuildundpostbuild: Verwenden Sie diese für Aufgaben wie die Einrichtung der Umgebung oder die Benachrichtigung bei Abschluss des Builds.build:platform: Plattformspezifische Befehle zum Erstellen von Android- oder iOS-Apps.
Sie können die Automatisierung noch weiter gehen, indem Sie Build-Hooks hinzufügen.
Einrichtung von Build-Hooks
Für eine fortgeschrittene Kontrolle verwenden Sie Build-Hooks, um benutzerdefinierte code an bestimmten Punkten während des Build-Prozesses auszuführen. Hier ist ein Beispiel für eine Einrichtung in 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;
Mit Build-Hooks können Sie:
- Vor dem Start des Builds die Anforderungen überprüfen
- Während des Prozesses Assets transformieren
- Bei wichtigen Punkten Benachrichtigungen auslösen
- Die Versionsnummern automatisch aktualisieren
- Automatisierte Tests reibungslos durchführen
Diese Vorgehensweise bietet Ihnen mehr Flexibilität und Kontrolle über den gesamten Build-Lebenszyklus.
Erweiterte Build-Anpassungen
Bei der Arbeit an größeren Projekten kann die Feinabstimmung des Build-Prozesses einen großen Unterschied machen. Hier erfahren Sie, wie Sie Umgebungs-spezifische Builds und Plattform-Anpassungen effektiv handhaben können.
Umgebungsvariablen
Setze Umgebungsvariablen, indem du separate .env Dateien für jeden Umgebung erstellst:
.env.development.env.staging.env.production
Dann konfiguriere dein Build-Skript, um die entsprechende Datei auf der Grundlage der Umgebung zu laden:
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'
}
}
}
}
}
});
Du kannst diese Einstellungen weiter anpassen, um Plattform-spezifische Anforderungen zu erfüllen.
Plattform-spezifische Builds
Um Builds für Android und iOS anzupassen, verwende die folgende Struktur:
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
}
}
};
Diese Konfigurationen ermöglichen dir, Builds für jede Plattform anzupassen, um glatteere Bereitstellungen zu gewährleisten.
| Funktion | Android | iOS |
|---|---|---|
| Debug-Symbols | ProGuard Mappingdateien | dSYM-Dateien |
| Build-Varianten | debug, Release, Staging | debug, Release |
| Code Signierung | Keystore-Verwaltung | Zertifizierungsprofile |
| Asset-Verwaltung | res/drawable-Optimierung | Asset-Kataloge |
Zusätzliche Tipps zur Optimierung Ihrer Builds umfassen:
- Verwendung von Teilaktualisierungen, um Zeit während der Bereitstellung zu sparen
- Einrichten von Fehlermeldungen, um Probleme schnell zu identifizieren
- Erstellen von Kanalsystemen für die Beta-Testversionen
- Aktivieren der Ende-zu-Ende-Verschlüsselung für sichere Verteilung
Wenn Sie diese Techniken mit Werkzeugen wie Capgo für Analysen und sichere Updates kombinieren, haben Sie mehr Kontrolle über Ihren Bereitstellungsprozess [1].
Probleme mit Build-Skripten & Lösungen
Bei der Arbeit mit benutzerdefinierten Build-Konfigurationen ist es wichtig, Fehler schnell zu lösen, um den Build-Prozess reibungslos laufen zu lassen
Gemeinsame Fehler beheben
Viele Probleme mit Build-Skripten rühren von der Einrichtung der Umgebung oder von Abhängigkeitsproblemen her. Hier erfahren Sie, wie Sie einige häufige Probleme angehen können:
Fehlende Umgebungsvariablen
Wenn Sie ein Fehler wie diesen begegnen:
error: Cannot find environment configuration for BUILD_ENV
Sie können es durch die Erstellung eines .env.local Dateis in der Wurzel Ihres Projekts reparieren. Hier ist ein Beispiel:
BUILD_ENV=development
CAPACITOR_PLATFORM=ios
BUILD_TYPE=debug
Plattformspezifische Build-Fehler
Für Android-Signierungsfehler verwenden Sie diesen Befehl:
npx cap build android --keystorePassword=$KEYSTORE_PASSWORD --keystoreAlias=$KEYSTORE_ALIAS
Für iOS-Provisioning-Profile-Probleme versuchen Sie Folgendes:
npx cap build ios --configuration=release --type=development
| Fehlerart | Häufige Ursache | Lösung |
|---|---|---|
| Signierungs-Konfiguration | Fehlende Keystore-Daten | Einstellen KEYSTORE_PATH und Anmeldeinformationen |
| Build Umgebung | Ungewisse Variablen | Erstellen Sie plattform-spezifische .env Dateien |
| Abhängigkeiten | Versionen stimmen nicht überein | Aktualisieren package.json und synchronisieren |
Nachdem Sie die Korrekturen angewendet haben, stellen Sie sicher, dass Ihre Änderungen stabil sind, indem Sie gründliche Build-Tests durchführen.
Testen Sie Build-Skripte
Sobald die Fehler gelöst sind, überprüfen Sie Ihre Build-Skripte mit diesen Schritten:
- Automatisierte Verifizierung: Führen Sie Tastenkombinationen aus, um sicherzustellen, dass der Aufbau wie erwartet funktioniert.
npm run build
npx cap sync
npx cap copy
- Umgebungserkennung: Überprüfen Sie fehlende Umgebungsvariablen, bevor Sie den Aufbau starten.
const requiredVars = ['BUILD_ENV', 'KEYSTORE_PATH'];
requiredVars.forEach(varName => {
if (!process.env[varName]) {
throw new Error(`Missing required env var: ${varName}`);
}
});
- Build-Script-Debugging: Fügen Sie detaillierte Skripte hinzu, um potenzielle Probleme während des Aufbaus zu erkennen.
{
"scripts": {
"build:debug": "NODE_ENV=development npx cap build --verbose",
"build:release": "NODE_ENV=production npx cap build --verbose"
}
}
Zusätzliche Tipps zum Testen:
- Verwenden Sie Docker Container, um Builds zu isolieren.
- Überprüfen Sie die Konfigurationsdateien, bevor Sie den Prozess starten.
- Testen Sie mit mehreren Node.js Versions.
- Bestätigen Sie, dass die Plattform-spezifischen Anforderungen erfüllt sind.
- Beobachten Sie die Leistung der Build-Performance für mögliche Verbesserungen.
Capgo Build Features

Capgo bringt die Build-Skripte auf ein neues Level mit automatisierter Bereitstellung, wodurch die Effizienz erhöht und der Prozess vereinfacht wird.
Schnelle App-Updates
Capgo’s Update-Leistung ist beeindruckend:
- 95% der aktiven Benutzer erhalten Updates innerhalb von 24 Stunden.
- 82% Erfolgsrate Weltweit lieferbar.
- Eine durchschnittliche API Antwortzeit von 434ms weltweit.
Die Plattform verwendet partielle Updates, was bedeutet, dass nur die Änderungen heruntergeladen werden. Diese Vorgehensweise reduziert den Bandbreitenverbrauch und beschleunigt den Updateprozess. Zudem ist der gesamte Buildprozess vollautomatisiert, was Zeit und Mühe spart.
Automatisierte Builds
Capgo funktioniert reibungslos mit den wichtigsten CI/CD-Plattformen, wobei eine Vielzahl von Integrationsmöglichkeiten angeboten wird:
| CI/CD-Plattform | Integrationseigenschaften | Vorteile |
|---|---|---|
| GitHub-Aktionen | Automatisierte Builds, Deploy-Auslöser | Kontinuierliche Bereitstellung |
| GitLab CI | Automatisierung von Pipeline, Versionskontrolle | Fließender Workflow |
| Jenkins | Benutzerdefinierte Workflows, Build-Hooks | Skalierbar für Unternehmen |
Die Einrichtung eines automatisierten Builds kostet typischerweise 300 Euro pro Monat, was deutlich budgetfreundlicher ist im Vergleich zu traditionellen Lösungen, die bis zu 6.000 Euro jährlich.
Sicherheitsstandards
Capgo priorisiert die Sicherheit mit einem robusten Framework, das Folgendes umfasst:
- End-to-End-Verschlüsselung für Aktualisierungs-Pakete.
- Sichere Schlüsselverwaltung.
- Einhaltung der Richtlinien von Apple und Google.
Versionierungsmerkmale
- Schnelle Rückschaltmöglichkeiten.
- Verfolgung der Versionsnummer der Bereitstellung.
- Update-Kanalverwaltung für gestufte Veröffentlichungen.
Diese Sicherheitsframework wurde sorgfältig über Hunderte von Unternehmen-Anwendungen getestet. Für Teams, die zusätzliche Sicherheit benötigen, bietet Capgo auch selbst gehostete Lösungen mit anpassbaren Konfigurationen.
Capgo’s Kanal-System macht die Verteilung von Updates flexibel. Entwickler können spezifische Benutzergruppen mit verschiedenen Versionen ansprechen, ideal für Beta-Tests oder schrittweise Veröffentlichungen.
Zusammenfassung
Übersicht über die Aufbau-Schritte
Benutzerdefinierte Aufbau-Skripte ermöglichen automatisierte und konsistente Bereitstellungen, indem sie Aufbau-Hooks, Umgebungsvariablen und plattform-spezifische Befehle nutzen. Diese Prozesse schaffen eine solide Grundlage für Bereitstellung-Verbesserungen, die mit Capgo möglich sind.
Capgo Vorteile
Capgo vereinfacht die Bereitstellung, wobei es bereits über 23,5 Millionen Updates in 750 Produktanwendungen erfolgreich geliefert hat [1]. Sein teilweiser Update-System reduziert sowohl den Bandbreitenverbrauch als auch die Bereitstellungsdauer.
Die Plattform bietet schnelle Updates, globale Leistungsanpassungen, Ende-zu-Ende-Verschlüsselung für die Sicherheit und ein flexibles Kanal-basiertes Verteilungssystem. Diese Konfiguration unterstützt gezielte Updates, Beta-Testungen und die Einhaltung von Richtlinien der App-Stores, während ein starkes Sicherheitsframework beibehalten wird.
Bleiben Sie bei How to Customize Build Scripts mit Capacitor CLI
Wenn Sie " How to Customize Build Scripts mit Capacitor CLI " zum Planen der CI/CD-Automatisierung verwenden, verbinden Sie es mit " Capgo CI/CD for the product workflow in Capgo CI/CD, Capgo CI/CD for the product workflow in Capgo Native Builds, Capgo Integrations für den Produktworkflow in Capgo Integrations, CI/CD-Integration für die Implementierungsdetails in CI/CD-Integration, und GitHub Aktionen-Integration für die Implementierungsdetails in GitHub Aktionen-Integration.