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>
25 lines
740 B
JSON
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"
|
|
}
|
|
}
|