You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1.9 KiB

Building the Daily Notification Plugin

Important: Standalone Build Limitations

Capacitor plugins cannot be built standalone because Capacitor dependencies are npm packages, not Maven artifacts.

Correct Way to Build

Build the plugin within a Capacitor app that uses it:

# In a consuming Capacitor app (e.g., test-apps/android-test-app or your app)
cd /path/to/capacitor-app/android
./gradlew assembleDebug

# Or use Capacitor CLI
npx cap sync android
npx cap run android

What Doesn't Work

# This will fail - Capacitor dependencies aren't in Maven
cd android
./gradlew assembleDebug

Why This Happens

  1. Capacitor dependencies are npm packages, not Maven artifacts
  2. Capacitor plugins are meant to be consumed, not built standalone
  3. The consuming app provides Capacitor as a project dependency
  4. When you run npx cap sync, Capacitor sets up the correct dependency structure

For Development & Testing

Use the test app at test-apps/android-test-app/:

cd test-apps/android-test-app
npm install
npx cap sync android
cd android
./gradlew assembleDebug

The plugin will be built as part of the test app's build process.

Gradle Wrapper Purpose

The gradle wrapper in android/ is provided for:

  • Syntax checking - Verify build.gradle syntax
  • Android Studio - Open the plugin directory in Android Studio for editing
  • Documentation - Show available tasks and structure
  • Not for standalone builds - Requires a consuming app context

Verifying Build Configuration

You can verify the build configuration is correct:

cd android
./gradlew tasks  # Lists available tasks (may show dependency errors, that's OK)
./gradlew clean  # Cleans build directory

The dependency errors are expected - they confirm the plugin needs a consuming app context.