diff --git a/android-templates/MainActivity.java b/android-templates/MainActivity.java new file mode 100644 index 0000000..58a02f2 --- /dev/null +++ b/android-templates/MainActivity.java @@ -0,0 +1,20 @@ +package org.skatespots.app; + +import com.getcapacitor.BridgeActivity; + +/** + * Default Capacitor launcher activity. + * + * This is the STOCK Capacitor MainActivity — it does NOT override the + * WebViewClient or anything else. An earlier custom version overrode the + * WebViewClient and wiped out the client Capacitor needs to load the web layer, + * causing a black-screen crash on launch. This minimal version simply exists so + * the AndroidManifest has a valid launcher class to point at, and lets Capacitor + * boot normally. + * + * Injected into the generated android/ project at build time by + * scripts/inject-main-activity.mjs so the correct class is always present even + * after `rm -rf android` / `cap add`. + */ +public class MainActivity extends BridgeActivity { +} diff --git a/package.json b/package.json index 98accff..b77ee21 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "skate-spots", "private": true, - "version": "1.2.10", + "version": "1.2.11", "type": "module", "homepage": "https://skate-spots.com", "scripts": { @@ -9,11 +9,11 @@ "build": "npm i --silent && vite build -l error && cp dist/index.html dist/404.html && echo 'Project built successfully!'", "test": "npm i --silent && tsc --noEmit && eslint && vitest run --reporter=dot --silent && vite build -l error && cp dist/index.html dist/404.html && echo 'All tests passed!'", "deploy": "npm i --silent && npm run build && npx -y nostr-deploy-cli deploy --skip-setup", - "android:init": "npm run android:build:apk && npx cap add android && npx cap sync android && node scripts/inject-amber-queries.mjs", - "android:sync": "npm run android:build:apk && npx cap sync android && node scripts/sync-android-version.mjs && node scripts/inject-amber-queries.mjs", + "android:init": "npm run android:build:apk && npx cap add android && npx cap sync android && node scripts/inject-amber-queries.mjs && node scripts/inject-main-activity.mjs", + "android:sync": "npm run android:build:apk && npx cap sync android && node scripts/sync-android-version.mjs && node scripts/inject-amber-queries.mjs && node scripts/inject-main-activity.mjs", "android:open": "npx cap open android", "android:version": "node scripts/sync-android-version.mjs", - "android:build": "npm run android:build:apk && npx cap sync android && node scripts/sync-android-version.mjs && node scripts/inject-amber-queries.mjs && cd android && ./gradlew assembleRelease", + "android:build": "npm run android:build:apk && npx cap sync android && node scripts/sync-android-version.mjs && node scripts/inject-amber-queries.mjs && node scripts/inject-main-activity.mjs && cd android && ./gradlew assembleRelease", "android:build:apk": "CAPACITOR_BUILD=1 vite build && sed -i 's|||g' dist/index.html && sed -i 's|