Files
daily-notification-plugin/test-apps/daily-notification-test/README.md
2025-12-08 22:42:23 -08:00

4.5 KiB

daily-notification-test

This template should help get you started developing with Vue 3 in Vite.

VS Code + Vue (Official) (and disable Vetur).

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

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:

  1. Run npx cap sync (or platform-specific sync)
  2. Automatically fix capacitor.settings.gradle (corrects plugin path from android/ to android/plugin/)
  3. Ensure capacitor.plugins.json has 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