Framework guides
Capacitor Plugins
Lunadeck supports all official Capacitor plugins and most community plugins out of the box.
Official plugins
All @capacitor/* plugins are pre-configured in the build environment:
| Plugin | Package | Status |
|---|---|---|
| Camera | @capacitor/camera | Supported |
| Filesystem | @capacitor/filesystem | Supported |
| Geolocation | @capacitor/geolocation | Supported |
| Push Notifications | @capacitor/push-notifications | Supported |
| Local Notifications | @capacitor/local-notifications | Supported |
| Haptics | @capacitor/haptics | Supported |
| Keyboard | @capacitor/keyboard | Supported |
| Status Bar | @capacitor/status-bar | Supported |
| Splash Screen | @capacitor/splash-screen | Supported |
| App | @capacitor/app | Supported |
| Network | @capacitor/network | Supported |
| Storage | @capacitor/preferences | Supported |
Community plugins
Community plugins are supported as long as they:
- Have a valid Android implementation (
android/directory in the plugin package) - Are compatible with the Capacitor version you're using
- Don't require proprietary SDKs that aren't publicly available
Plugin configuration
Some plugins require additional configuration in capacitor.config.ts:
const config: CapacitorConfig = {
plugins: {
PushNotifications: {
presentationOptions: ["badge", "sound", "alert"],
},
SplashScreen: {
launchAutoHide: true,
androidScaleType: "CENTER_CROP",
},
},
};Troubleshooting plugins
- Build fails after adding a plugin — Run
npx cap sync androidlocally to verify the plugin installs correctly - Plugin not found at runtime — Ensure the plugin is registered in
MainActivity.javaor auto-linked - Gradle conflicts — Check for duplicate or incompatible dependencies in the plugin's
build.gradle