Files
Fabric.Android/package.json
hzhang c09506b6ea feat(android): Capacitor wrapper bundling the Fabric web frontend
Greenfield Android client built as a Capacitor shell (mirrors the
Desktop strategy — reuses the React SPA 100%):
- appId ai.hangman.fabric, appName Fabric, androidScheme http +
  usesCleartextTraffic (talks to the http Center/Guild backends; the
  login screen sets the Center base, so a phone points at a LAN/host
  URL instead of localhost).
- scripts/build-web.mjs builds Fabric.Frontend and copies dist -> www;
  npm run sync / apk:debug wire it to Gradle.
- Native android/ project (cap add android) committed; build outputs,
  www/, node_modules, local.properties gitignored.
- Launcher icons = the Fabric mark (adaptive: green mark on black,
  legacy + round) at all densities.

Verified: gradlew assembleDebug -> app-debug.apk (4.2MB) containing
assets/public/index.html + the SPA bundle + Fabric icons.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 12:39:08 +01:00

25 lines
740 B
JSON

{
"name": "fabric-android",
"version": "0.1.0",
"private": true,
"description": "Capacitor Android shell that bundles the Fabric web frontend.",
"author": {
"name": "Hangman",
"email": "noreply@hangman-lab.top"
},
"scripts": {
"build:web": "node scripts/build-web.mjs",
"sync": "npm run build:web && cap sync android",
"open": "cap open android",
"apk:debug": "npm run build:web && cap sync android && cd android && ./gradlew assembleDebug",
"apk:release": "npm run build:web && cap sync android && cd android && ./gradlew assembleRelease"
},
"dependencies": {
"@capacitor/android": "^7.0.0",
"@capacitor/core": "^7.0.0"
},
"devDependencies": {
"@capacitor/cli": "^7.0.0"
}
}