# Build Process Quick Reference **Author**: Matthew Raymer **Date**: October 17, 2025 ## 🚨 Critical Build Steps ```bash # 1. Build web assets npm run build # 2. Sync with native projects npx cap sync android # 3. 🔧 FIX PLUGIN REGISTRY (REQUIRED!) node scripts/fix-capacitor-plugins.js # 4. Build and deploy Android cd android ./gradlew :app:assembleDebug adb install -r app/build/outputs/apk/debug/app-debug.apk adb shell am start -n com.timesafari.dailynotification.test/.MainActivity ``` ## ⚠️ Why Step 3 is Critical **Problem**: `npx cap sync` overwrites `capacitor.plugins.json` and removes custom plugins. **Solution**: The fix script restores the DailyNotification plugin entry. **Without Step 3**: Plugin detection fails, "simplified dialog" appears. ## 🔍 Verification Checklist After build, verify: - [ ] `capacitor.plugins.json` contains DailyNotification entry - [ ] System Status shows "Plugin: Available" (green) - [ ] Plugin Diagnostics shows all 4 plugins - [ ] Click events work on ActionCard components - [ ] No "simplified dialog" appears ## 🛠️ Automated Build Script Create `scripts/build-and-deploy.sh`: ```bash #!/bin/bash set -e echo "🔨 Building web assets..." npm run build echo "🔄 Syncing with native projects..." npx cap sync android echo "🔧 Fixing plugin registry..." node scripts/fix-capacitor-plugins.js echo "🏗️ Building Android app..." cd android ./gradlew :app:assembleDebug echo "📱 Installing and launching..." adb install -r app/build/outputs/apk/debug/app-debug.apk adb shell am start -n com.timesafari.dailynotification.test/.MainActivity echo "✅ Build and deploy complete!" ``` ## 🐛 Common Issues | Issue | Symptom | Solution | |-------|---------|----------| | Empty plugin registry | `capacitor.plugins.json` is `[]` | Run `node scripts/fix-capacitor-plugins.js` | | Plugin not detected | "Plugin: Not Available" (red) | Check plugin registry, rebuild | | Click events not working | Buttons don't respond | Check Vue 3 compatibility, router config | | Inconsistent status | Different status in different cards | Use consistent detection logic | ## 📱 Testing Commands ```bash # Check plugin registry cat android/app/src/main/assets/capacitor.plugins.json # Monitor native logs adb logcat | grep -i "dailynotification\|capacitor\|plugin" # Check app installation adb shell pm list packages | grep dailynotification ``` --- **Remember**: Always run the fix script after `npx cap sync`!