# AppScaffold **Repository Path**: ysbwsx/app-scaffold ## Basic Information - **Project Name**: AppScaffold - **Description**: 脚手架 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-30 - **Last Updated**: 2026-07-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # App Scaffold 从「寻衍 Yinerva」抽离的 Vite + React + TypeScript + Capacitor 脚手架。支持本地开发、Web 打包、Android APK。 ## 技术栈 - Vite 8 + React 19 + TypeScript - React Router - Capacitor 8(Android) - 简易 PWA(`public/sw.js`) ## 本地运行 ```bash cd ~/Desktop/app-scaffold npm install npm run dev ``` 浏览器打开终端提示的地址即可。平板浏览器也可「添加到主屏幕」当 PWA 使用。 ## Web 打包 ```bash npm run build ``` 产物在 `dist/`。 ## 安卓 APK(无需连手机) ### 环境要求 - Node.js / npm - JDK 21(或兼容版本) - Android SDK(`android/local.properties` 中配置 `sdk.dir`) 本机已从 Yinerva 带入 `local.properties`;换机器时请改成你的 SDK 路径,例如: ```properties sdk.dir=/Users/你的用户名/Android/sdk ``` > **外置盘注意**:若项目在 `/Volumes/...` 上,Gradle 可能报 `Timeout waiting to lock checksums cache`。本脚手架已把 `android/.gradle` 与 build 目录软链到本机: > `~/Library/Caches/app-scaffold-android-gradle`、`~/Library/Caches/app-scaffold-android-build`。 > 若锁再次出现,先执行 `cd android && ./gradlew --stop`,再重跑打包。 ### Debug 打包 ```bash npm install npm run android:apk ``` 流程:构建 Web → `cap sync android` → Gradle `assembleDebug`。 APK 路径: ```text android/app/build/outputs/apk/debug/app-debug.apk ``` ### Release 打包 先生成签名(只需一次): ```bash keytool -genkeypair -v -keystore android/app-release.keystore \ -alias app -keyalg RSA -keysize 2048 -validity 10000 ``` 再复制并填写: ```bash cp android/keystore.properties.example android/keystore.properties ``` 然后: ```bash npm run android:apk:release ``` APK 路径: ```text android/app/build/outputs/apk/release/app-release.apk ``` 发版前在 `android/app/build.gradle` 递增 `versionCode`,按需改 `versionName`。 ### 常用命令 | 命令 | 说明 | | --- | --- | | `npm run dev` | 本地开发 | | `npm run build` | Web 打包 | | `npm run android:apk` | 同步 Web 并打 debug APK | | `npm run android:apk:release` | 同步 Web 并打 release 签名 APK | | `npm run cap:sync` | 只构建并同步到 Android 工程 | | `npm run cap:open` | 用 Android Studio 打开工程 | ## 改成你的 App 1. 改 `package.json` 的 `name` 2. 改 `capacitor.config.ts` 的 `appId` / `appName` 3. 改 `android/app/build.gradle` 的 `namespace` / `applicationId` 4. 改 `android/app/src/main/res/values/strings.xml` 的显示名 5. 若改了 `appId`,同步移动 `MainActivity.java` 的包路径与 `package` 声明 6. 在 `src/` 写业务页面 默认包名:`app.scaffold.demo`,应用名:`App Scaffold`。