# 网盘管理系统 - APP 打包指南 ## 📱 项目说明 这是一个基于 Vue 3 + Capacitor 的跨平台移动应用,支持 Android 和 iOS。 ## 🛠️ 技术栈 - **前端框架**: Vue 3 (Composition API) - **构建工具**: Vite - **跨平台方案**: Capacitor - **UI 样式**: 原生 CSS(移动端适配) ## 📦 安装依赖 ```bash npm install ``` ## 🚀 开发模式 ### Web 开发 ```bash npm run dev ``` ### Android 开发 ```bash # 1. 构建 Web 资源 npm run build # 2. 同步到 Android npx cap sync android # 3. 在 Android Studio 中打开 npx cap open android ``` ### iOS 开发(需要 macOS) ```bash # 1. 添加 iOS 平台 npx cap add ios # 2. 构建并同步 npm run build npx cap sync ios # 3. 在 Xcode 中打开 npx cap open ios ``` ## 🏗️ 打包发布 ### Android APK 打包 #### 方法一:使用 Android Studio(推荐) 1. 运行 `npx cap open android` 打开 Android Studio 2. 等待 Gradle 同步完成 3. 点击菜单 **Build → Build Bundle(s) / APK(s) → Build APK(s)** 4. APK 文件会生成在 `android/app/build/outputs/apk/debug/` 目录 #### 方法二:命令行打包 ```bash cd android ./gradlew assembleDebug ``` APK 位置:`android/app/build/outputs/apk/debug/app-debug.apk` ### 发布版本(签名 APK) 1. 创建密钥库文件: ```bash keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias ``` 2. 在 `android/app/build.gradle` 中配置签名: ```gradle android { ... signingConfigs { release { storeFile file("../my-release-key.jks") storePassword "your-store-password" keyAlias "my-alias" keyPassword "your-key-password" } } buildTypes { release { signingConfig signingConfigs.release minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } ``` 3. 打包: ```bash ./gradlew assembleRelease ``` ## 📂 项目结构 ``` wangpan/vue/ ├── src/ # 源代码 │ ├── api/ # API 接口 │ ├── components/ # Vue 组件 │ ├── utils/ # 工具函数 │ ├── App.vue # 主组件 │ └── main.js # 入口文件 ├── android/ # Android 原生项目 ├── ios/ # iOS 原生项目(macOS) ├── dist/ # 构建输出 ├── public/ # 静态资源 ├── capacitor.config.json # Capacitor 配置 └── package.json ``` ## 🔧 配置说明 ### Capacitor 配置 (capacitor.config.json) ```json { "appId": "com.wangpan.app", // APP ID "appName": "网盘管理系统", // APP 名称 "webDir": "dist", // Web 资源目录 "plugins": { "SplashScreen": { // 启动屏配置 "launchShowDuration": 2000, "backgroundColor": "#f8f9fc", "showSpinner": false }, "StatusBar": { // 状态栏配置 "style": "light", "backgroundColor": "#6366f1" } } } ``` ## 🎨 自定义图标和启动屏 ### 更换 APP 图标 1. 准备图标文件(PNG 格式): - 1024x1024 (Google Play 要求) - 512x512 - 192x192 - 144x144 - 96x96 - 72x72 - 48x48 2. 替换 `android/app/src/main/res/mipmap-*/ic_launcher.png` 3. 或使用在线工具生成:https://icon.kitchen/ ### 更换启动屏 1. 准备启动屏图片(PNG 格式) 2. 替换 `android/app/src/main/res/drawable/splash.png` 3. 或使用 Cordova 插件自动生成 ## 🐛 常见问题 ### 1. Android Studio 无法识别项目 - 确保已安装 JDK 11+ - 确保已安装 Android SDK - 运行 `npx cap sync android` 重新同步 ### 2. 白屏问题 - 检查 `dist/` 目录是否有正确的构建文件 - 检查 `capacitor.config.json` 中的 `webDir` 配置 - 查看 Chrome DevTools: `chrome://inspect/#devices` ### 3. API 请求失败 - 确保后端服务已启动 - 检查 CORS 配置 - Android 需要配置网络安全策略(允许 HTTP) ### 4. 热重载不工作 - Capacitor 不支持热重载 - 修改代码后需要重新构建:`npm run build && npx cap sync` ## 📱 真机测试 ### Android 真机调试 1. 开启手机的开发者选项和 USB 调试 2. 连接手机到电脑 3. 在 Android Studio 中点击 Run 按钮 4. 或使用命令: ```bash npx cap run android ``` ### Chrome 远程调试 1. 手机连接电脑 2. 浏览器访问 `chrome://inspect/#devices` 3. 选择你的设备进行调试 ## 🔐 权限配置 如果需要访问相机、相册等权限,需要在 `android/app/src/main/AndroidManifest.xml` 中添加: ```xml ``` ## 📊 性能优化建议 1. **图片优化**:使用 WebP 格式,压缩图片 2. **代码分割**:使用动态导入 `import()` 3. **懒加载**:路由和组件按需加载 4. **缓存策略**:合理使用 localStorage 和 IndexedDB 5. **减少重绘**:避免频繁操作 DOM ## 📝 更新日志 ### v1.0.0 (2026-06-08) - ✅ 完成移动端适配 - ✅ 集成 Capacitor - ✅ 支持 Android 打包 - ✅ 优化触摸交互 - ✅ 修复验证码拉伸问题 ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request! ## 📄 许可证 MIT License