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>
This commit is contained in:
24
package.json
Normal file
24
package.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user