4.5 KiB
daily-notification-test
This template should help get you started developing with Vue 3 in Vite.
Recommended IDE Setup
VS Code + Vue (Official) (and disable Vetur).
Recommended Browser Setup
- Chromium-based browsers (Chrome, Edge, Brave, etc.):
- Firefox:
Type Support for .vue Imports in TS
TypeScript cannot handle type information for .vue imports by default, so we replace the tsc CLI with vue-tsc for type checking. In editors, we need Volar to make the TypeScript language service aware of .vue types.
Customize configuration
See Vite Configuration Reference.
Project Setup
npm install
Note: The postinstall script automatically fixes Capacitor configuration files after installation.
Building for Android and iOS
Quick Build (Recommended)
Use the unified build script for both platforms:
# Build and run both platforms on emulator/simulator
./scripts/build.sh --run
# Build both platforms (no run)
./scripts/build.sh
# Build Android only
./scripts/build.sh --android
# Build iOS only
./scripts/build.sh --ios
# Build and run Android on emulator
./scripts/build.sh --run-android
# Build and run iOS on simulator
./scripts/build.sh --run-ios
See: docs/BUILD_QUICK_REFERENCE.md for detailed build instructions.
Manual Build Steps
Capacitor Sync
Important: Use the wrapper script instead of npx cap sync directly to automatically fix plugin paths:
# Sync both platforms
npm run cap:sync
# Sync Android only
npm run cap:sync:android
# Sync iOS only
npm run cap:sync:ios
This will:
- Run
npx cap sync(or platform-specific sync) - Automatically fix
capacitor.settings.gradle(corrects plugin path fromandroid/toandroid/plugin/) - Ensure
capacitor.plugins.jsonhas the correct plugin registration
If you run npx cap sync directly, you can manually fix afterward:
node scripts/fix-capacitor-plugins.js
Compile and Hot-Reload for Development
npm run dev
Type-Check, Compile and Minify for Production
npm run build
Lint with ESLint
npm run lint
ADB Commands for Android Testing
Package Name: com.timesafari.dailynotification.test
Check Device Connection
adb devices
Install App
Install the debug APK to a connected device or emulator:
# From project root
cd android
./gradlew installDebug
# Or from test-apps/daily-notification-test directory
cd android && ./gradlew installDebug
List Installed Packages
Check if the app is installed:
# List all packages (filter for this app)
adb shell pm list packages | grep timesafari
# List only this app's package
adb shell pm list packages com.timesafari.dailynotification.test
Launch/Raise the App
Launch the app or bring it to foreground:
# Launch the main activity
adb shell am start -n com.timesafari.dailynotification.test/.MainActivity
# Launch with explicit intent
adb shell am start -a android.intent.action.MAIN -n com.timesafari.dailynotification.test/.MainActivity
Uninstall App
Remove the app from the device:
# Uninstall by package name
adb uninstall com.timesafari.dailynotification.test
# Force uninstall (if regular uninstall fails)
adb shell pm uninstall -k --user 0 com.timesafari.dailynotification.test
Additional Useful ADB Commands
View App Logs:
# Filter logs for this app
adb logcat | grep -E "timesafari|DailyNotification|DNP"
# Clear logs before testing
adb logcat -c
Check App Info:
# Get app version and info
adb shell dumpsys package com.timesafari.dailynotification.test | grep -A 5 "versionName\|versionCode"
Force Stop App:
# Force stop the app (useful for testing recovery scenarios)
adb shell am force-stop com.timesafari.dailynotification.test
Clear App Data:
# Clear app data (resets to fresh install state)
adb shell pm clear com.timesafari.dailynotification.test