# Android 应用商店上架指南 **应用名称**: 移动 EDA - 原理图设计工具 **Package Name**: com.jiloukeji.mobileeda **版本**: 1.0.0 (1) **文档版本**: 1.0 **更新日期**: 2026-03-07 --- ## 📋 目录 1. [前置准备](#前置准备) 2. [签名配置](#签名配置) 3. [构建发布包](#构建发布包) 4. [各商店提交指南](#各商店提交指南) 5. [素材准备](#素材准备) 6. [常见问题](#常见问题) --- ## 前置准备 ### 1.1 开发者账号注册 | 商店 | 网址 | 费用 | 审核时间 | |------|------|------|---------| | 华为应用市场 | developer.huawei.com | 免费 | 1-3 工作日 | | 小米应用商店 | dev.mi.com | 免费 | 1-2 工作日 | | OPPO 软件商店 | open.oppomobile.com | 免费 | 1-3 工作日 | | VIVO 应用商店 | dev.vivo.com.cn | 免费 | 2-4 工作日 | | 腾讯应用宝 | open.qq.com | 免费 | 1-3 工作日 | ### 1.2 实名认证 所有商店均需要完成开发者实名认证: ``` 所需材料: • 个人开发者:身份证正反面 • 企业开发者:营业执照、法人身份证 • 联系方式:手机号、邮箱 • 对公账户(企业) 认证时间:1-3 工作日 ``` ### 1.3 开发环境检查 ```bash # 检查 Flutter 环境 flutter doctor -v # 要求: # ✓ Android toolchain # ✓ Android SDK >= 34 # ✓ Java Development Kit >= 17 ``` ### 1.4 项目配置 ```gradle // android/app/build.gradle android { compileSdkVersion 34 defaultConfig { applicationId "com.jiloukeji.mobileeda" minSdkVersion 21 targetSdkVersion 34 versionCode 1 versionName "1.0.0" } signingConfigs { release { storeFile file("../mobile-eda-release-key.jks") storePassword System.getenv("KEYSTORE_PASSWORD") ?: "" keyAlias "mobile-eda" keyPassword System.getenv("KEY_PASSWORD") ?: "" } } buildTypes { release { signingConfig signingConfigs.release minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } ``` --- ## 签名配置 ### 2.1 生成 Keystore #### 使用 keytool 生成 ```bash # 生成新的 Keystore keytool -genkey -v \ -keystore mobile-eda-release-key.jks \ -keyalg RSA \ -keysize 2048 \ -validity 10000 \ -alias mobile-eda \ -storetype PKCS12 # 按提示输入: # - 密钥库密码 (6 位以上) # - 姓名、单位、城市等信息 # - 密钥密码 (可与密钥库密码相同) ``` #### Keystore 信息记录模板 ``` ==================================== 移动 EDA 签名密钥信息 ==================================== 密钥库文件:mobile-eda-release-key.jks 密钥库类型:PKCS12 密钥别名:mobile-eda 密钥算法:RSA 密钥长度:2048 位 有效期:10000 天 (约 27 年) 生成日期:2026-03-07 过期日期:2053-XX-XX 密钥库密码:[安全保管] 密钥密码:[安全保管] 保管位置:[保险柜/密码管理器] 备份位置:[异地备份] ==================================== ⚠️ 重要提示: 1. 此密钥用于所有版本签名,丢失将无法更新应用 2. 务必多处备份,建议加密存储 3. 不要提交到版本控制系统 4. 仅限授权人员访问 ==================================== ``` #### 使用 Android Studio 生成 ``` 1. Build → Generate Signed Bundle / APK 2. 选择 APK 或 Android App Bundle 3. 点击 Next 4. 点击 "Create new..." 5. 填写密钥库信息 6. 选择密钥算法和长度 7. 填写证书信息 8. 选择保存位置 9. 完成创建 ``` ### 2.2 配置签名 #### 方法 1: gradle.properties (不推荐用于生产) ```properties # android/gradle.properties RELEASE_STORE_FILE=../mobile-eda-release-key.jks RELEASE_STORE_PASSWORD=your_password RELEASE_KEY_ALIAS=mobile-eda RELEASE_KEY_PASSWORD=your_password ``` #### 方法 2: 环境变量 (推荐) ```bash # ~/.bashrc 或 ~/.zshrc export KEYSTORE_PASSWORD="your_keystore_password" export KEY_PASSWORD="your_key_password" # 或在 CI/CD 中配置环境变量 ``` #### 方法 3: CI/CD 密钥管理 ```yaml # GitHub Actions 示例 # .github/workflows/release.yml jobs: build: steps: - name: Decode Keystore run: | echo "${{ secrets.KEYSTORE }}" | base64 --decode > android/mobile-eda-release-key.jks - name: Build Release env: KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} run: flutter build appbundle --release ``` ### 2.3 验证签名 ```bash # 验证 APK 签名 apksigner verify --verbose app-release.apk # 查看签名信息 apksigner verify --print-certs app-release.apk # 验证 AAB 签名 java -jar bundletool.jar validate-bundle --bundle app-release.aab ``` --- ## 构建发布包 ### 3.1 构建 APK ```bash # 构建通用 APK (体积较大) flutter build apk --release # 输出位置: # build/app/outputs/flutter-apk/app-release.apk # 按 ABI 分包 (推荐,减小体积) flutter build apk --split-per-abi # 输出位置: # build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk (32 位) # build/app/outputs/flutter-apk/app-arm64-v8a-release.apk (64 位) # build/app/outputs/flutter-apk/app-x86_64-release.apk (模拟器) ``` ### 3.2 构建 App Bundle (推荐) ```bash # 构建 AAB (Google Play 格式,也适用于国内商店) flutter build appbundle --release # 输出位置: # build/app/outputs/bundle/release/app-release.aab # 验证 AAB bundletool build-apks --bundle=app-release.aab --output=app.apks ``` ### 3.3 构建优化 #### 启用代码混淆 ```proguard # android/app/proguard-rules.pro # Flutter -keep class io.flutter.app.** { *; } -keep class io.flutter.plugin.** { *; } -keep class io.flutter.util.** { *; } -keep class io.flutter.view.** { *; } -keep class io.flutter.** { *; } -keep class io.flutter.plugins.** { *; } # Riverpod -keep class org.kodein.di.** { *; } -keep class org.kodein.** { *; } # Isar -keep class ** extends isar.IsarObject { *; } -keep class isar.** { *; } # 保留模型类 -keep class com.jiloukeji.mobileeda.data.model.** { *; } ``` #### 启用资源压缩 ```gradle android { buildTypes { release { minifyEnabled true // 代码混淆 shrinkResources true // 资源压缩 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } ``` ### 3.4 版本管理 ```yaml # pubspec.yaml version: 1.0.0+1 # versionName+versionCode # 版本规范: # 主版本.次版本.修订版 + 构建号 # 1.0.0+1 → 首次发布 # 1.0.1+2 → Bug 修复 # 1.1.0+10 → 新功能 ``` ```bash # 自动化版本更新脚本 #!/bin/bash # scripts/bump_version.sh CURRENT_VERSION=$(grep "^version:" pubspec.yaml | cut -d' ' -f2 | cut -d'+' -f1) CURRENT_BUILD=$(grep "^version:" pubspec.yaml | cut -d' ' -f2 | cut -d'+' -f2) NEW_BUILD=$((CURRENT_BUILD + 1)) NEW_VERSION="${CURRENT_VERSION}+${NEW_BUILD}" sed -i "s/^version:.*/version: ${NEW_VERSION}/" pubspec.yaml echo "Version updated to ${NEW_VERSION}" ``` --- ## 各商店提交指南 ### 4.1 华为应用市场 #### 提交入口 https://developer.huawei.com/consumer/cn/appgallery #### 基本信息 | 字段 | 要求 | 示例 | |------|------|------| | 应用名称 | 30 字符内 | 移动 EDA | | 包名 | 唯一 | com.jiloukeji.mobileeda | | 版本号 | - | 1.0.0 | | 分类 | 办公商务 | 办公软件 | #### 素材要求 ``` 图标: • 尺寸:512x512 像素 • 格式:PNG • 大小:< 200KB • 要求:无圆角、无文字 截图: • 数量:至少 2 张 • 尺寸:1920x1080 或 1280x720 • 格式:PNG/JPG 功能图: • 数量:3-5 张 • 尺寸:1024x500 像素 • 格式:PNG ``` #### 特殊要求 ``` 必须提供: ✓ 软件著作权证书 (重要) ✓ ICP 备案信息 ✓ 隐私政策独立页面 ✓ 开发者实名认证 审核时间:1-3 工作日 ``` #### 提交流程 ``` 1. 登录华为开发者联盟 2. 应用和服务 → 我的应用 → 创建应用 3. 填写基本信息 4. 上传应用包 (APK 或 AAB) 5. 上传素材 (图标、截图、功能图) 6. 填写应用描述 7. 上传资质文件 (软著、ICP 等) 8. 提交审核 ``` --- ### 4.2 小米应用商店 #### 提交入口 https://dev.mi.com/distribute/ #### 基本信息 | 字段 | 要求 | 示例 | |------|------|------| | 应用名称 | 30 字符内 | 移动 EDA | | 包名 | 唯一 | com.jiloukeji.mobileeda | | 分类 | 办公 | 办公工具 | #### 素材要求 ``` 图标: • 尺寸:512x512 像素 • 格式:PNG • 大小:< 100KB 截图: • 数量:至少 3 张,推荐 5 张 • 尺寸:建议 1920x1080 • 格式:PNG/JPG 应用描述: • 字数:500 字以内 • 内容:功能介绍、特色亮点 ``` #### 特殊要求 ``` 必须提供: ✓ 开发者实名认证 ✓ 隐私政策 URL 推荐提供: • 软件著作权证书 (加速审核) 审核时间:1-2 工作日 ``` #### 提交流程 ``` 1. 登录小米开放平台 2. 应用分发 → 我的应用 → 新增应用 3. 填写应用信息 4. 上传 APK/AAB 5. 上传素材 6. 填写描述和关键词 7. 提交审核 ``` --- ### 4.3 OPPO 软件商店 #### 提交入口 https://open.oppomobile.com/ #### 基本信息 | 字段 | 要求 | 示例 | |------|------|------| | 应用名称 | 30 字符内 | 移动 EDA | | 包名 | 唯一 | com.jiloukeji.mobileeda | | 分类 | 办公商务 | - | #### 素材要求 ``` 图标: • 尺寸:512x512 像素 • 格式:PNG 截图: • 数量:至少 2 张 • 尺寸:1920x1080 功能图: • 数量:2-5 张 • 尺寸:1024x500 像素 ``` #### 特殊要求 ``` 必须提供: ✓ 隐私政策 ✓ 权限详细说明 ✓ 开发者资质认证 审核时间:1-3 工作日 ``` #### 提交流程 ``` 1. 登录 OPPO 开放平台 2. 应用分发 → 应用管理 → 创建应用 3. 填写基本信息 4. 上传应用包 5. 上传素材和资质 6. 提交审核 ``` --- ### 4.4 VIVO 应用商店 #### 提交入口 https://dev.vivo.com.cn/ #### 基本信息 | 字段 | 要求 | 示例 | |------|------|------| | 应用名称 | 30 字符内 | 移动 EDA | | 包名 | 唯一 | com.jiloukeji.mobileeda | | 分类 | 办公 | - | #### 素材要求 ``` 图标: • 尺寸:512x512 像素 • 格式:PNG 截图: • 数量:至少 3 张 • 尺寸:1920x1080 ``` #### 特殊要求 ``` 必须提供: ✓ 隐私政策 ✓ 实名认证 优先审核: • 软件著作权证书 审核时间:2-4 工作日 ``` #### 提交流程 ``` 1. 登录 VIVO 开发者平台 2. 应用分发 → 我的应用 → 新增应用 3. 填写应用信息 4. 上传 APK/AAB 5. 上传素材 6. 提交审核 ``` --- ### 4.5 腾讯应用宝 #### 提交入口 https://open.qq.com/ #### 基本信息 | 字段 | 要求 | 示例 | |------|------|------| | 应用名称 | 30 字符内 | 移动 EDA | | 包名 | 唯一 | com.jiloukeji.mobileeda | | 分类 | 办公 | - | #### 素材要求 ``` 图标: • 尺寸:512x512 像素 • 格式:PNG 截图: • 数量:至少 3 张 • 尺寸:1920x1080 功能图: • 数量:可选 • 尺寸:1024x500 宣传视频: • 格式:MP4 • 时长:15-30 秒 • 可选 ``` #### 特殊要求 ``` 必须提供: ✓ 隐私政策 ✓ 用户协议 ✓ 实名认证 审核时间:1-3 工作日 ``` #### 提交流程 ``` 1. 登录腾讯开放平台 2. 应用接入 → 移动应用 → 创建应用 3. 填写基本信息 4. 上传应用包 5. 上传素材和资质 6. 提交审核 ``` --- ## 素材准备 ### 5.1 应用图标 #### 设计规范 ``` 尺寸要求: • 主图标:512x512 像素 (所有商店) • App Store: 1024x1024 像素 格式要求: • 格式:PNG • 背景:不透明 • 圆角:不要添加 (商店自动处理) 设计要求: • 简洁清晰 • 与小尺寸下可识别 • 符合品牌色 • 避免文字 ``` #### 图标设计建议 ``` 移动 EDA 图标设计: • 主体:电路板/原理图符号 • 颜色:蓝色系 (符合 EDA 行业) • 风格:扁平化、现代 • 元素:电路节点、连线、元件符号 ``` ### 5.2 应用截图 #### 截图规划 ``` 截图 1: 主界面 • 展示完整的编辑界面 • 突出工具栏和画布 • 显示 1-2 个元件 截图 2: 元件库 • 展示元件分类 • 显示搜索功能 • 突出元件丰富度 截图 3: 属性编辑 • 展示属性面板 • 显示编辑状态 • 突出专业性 截图 4: 深色模式 • 展示深色主题 • 对比浅色模式 • 突出护眼设计 截图 5: 多语言 • 展示语言切换 • 显示国际化 • 突出全球化 ``` #### 截图制作 ```bash # 使用 Flutter 模拟器截图 flutter emulators --launch # 或使用 ADB adb shell screencap -p /sdcard/screenshot.png adb pull /sdcard/screenshot.png # 或使用 Android Studio View → Tool Windows → Device File Explorer ``` ### 5.3 功能图 #### 设计规范 ``` 尺寸:1024x500 像素 格式:PNG 内容: • 功能亮点展示 • 可添加文字说明 • 保持品牌一致性 ``` #### 功能图内容建议 ``` 功能图 1: 流畅编辑 • 文案:"支持 1000+ 元件流畅渲染" • 配图:复杂电路图 功能图 2: 丰富元件 • 文案:"内置丰富元件库" • 配图:元件分类展示 功能图 3: 深色模式 • 文案:"护眼深色主题" • 配图:深色模式界面 ``` ### 5.4 应用描述 #### 描述模板 ``` 【应用名称】移动 EDA - 专业原理图设计工具 【应用介绍】 移动 EDA 是一款专为电子工程师打造的移动端原理图设计工具,让您随时随地进行电路设计。 【核心功能】 • 流畅编辑:支持 1000+ 元件流畅渲染,60fps 丝滑体验 • 丰富元件库:内置电源、被动元件、半导体、连接器等常用元件 • 智能连线:自动捕捉连接点,支持总线绘制 • 属性编辑:快速修改元件位号、值、封装等属性 • 深色模式:护眼深色主题,长时间使用不疲劳 • 多语言支持:简体中文、繁体中文、英文、阿拉伯语 【专业特性】 • 符合行业标准:遵循 EDA 行业配色和操作习惯 • 离线工作:无需联网,数据本地存储 • 快速搜索:元件库支持关键词搜索和筛选 • 撤销重做:完善的历史记录管理 【适用人群】 • 电子工程师 • 硬件开发者 • 电子爱好者 • 相关专业学生 【技术支持】 邮箱:support@jiloukeji.com 网站:https://www.jiloukeji.com 【版本更新】 v1.0.0: • 首次发布 • 支持原理图编辑 • 内置丰富元件库 • 支持深色模式 • 支持多语言 ``` --- ## 常见问题 ### Q1: Keystore 丢失 **问题**: 签名密钥丢失,无法更新应用 **解决方案**: ``` 预防: • 多处备份 (本地 + 云端 + 物理) • 使用密码管理器 • 团队多人保管 丢失后: • 无法恢复 • 需要重新发布应用 (新包名) • 用户需要重新下载 ``` ### Q2: 审核被拒 **常见原因**: ``` • 隐私政策缺失或不合规 • 权限说明不清晰 • 应用存在 Bug 或崩溃 • 素材不符合规范 • 资质文件不全 ``` **应对策略**: ``` 1. 仔细阅读拒绝原因 2. 针对性修复 3. 重新提交 4. 联系商店客服 ``` ### Q3: 应用体积过大 **优化方案**: ``` • 使用 AAB 格式 • 按 ABI 分包 • 启用资源压缩 • 压缩图片资源 • 移除未使用依赖 ``` ### Q4: 多商店同步更新 **最佳实践**: ``` 1. 统一版本号 2. 同时提交所有商店 3. 跟踪各商店审核状态 4. 协调上线时间 5. 准备回滚方案 ``` ### Q5: 热更新支持 **说明**: ``` Flutter 支持热更新方案: • Shorebird (官方推荐) • CodePush 类方案 注意: • 国内商店可能限制热更新 • 需符合商店政策 • 重大更新仍需走审核 ``` --- ## 附录 ### A. 提交检查清单 ```markdown ## Android 提交前检查清单 ### 签名配置 - [ ] Keystore 已生成并备份 - [ ] 密码已安全保管 - [ ] build.gradle 配置正确 - [ ] 签名验证通过 ### 构建配置 - [ ] minSdkVersion >= 21 - [ ] targetSdkVersion >= 34 - [ ] versionCode 递增 - [ ] versionName 正确 - [ ] 代码混淆启用 - [ ] 资源压缩启用 ### 素材准备 - [ ] 图标 (512x512) - [ ] 截图 (至少 3 张) - [ ] 功能图 (1024x500) - [ ] 应用描述 - [ ] 关键词 ### 合规文档 - [ ] 隐私政策 - [ ] 用户协议 - [ ] 权限说明 - [ ] 软件著作权 (推荐) ### 商店账号 - [ ] 华为开发者联盟 - [ ] 小米开放平台 - [ ] OPPO 开放平台 - [ ] VIVO 开发者平台 - [ ] 腾讯开放平台 ### 提交 - [ ] 各商店应用创建 - [ ] 应用包上传 - [ ] 素材上传 - [ ] 资质上传 - [ ] 提交审核 ``` ### B. 版本发布流程 ``` 1. 代码冻结 2. 最终测试 3. 更新版本号 4. 构建发布包 5. 各商店提交 6. 跟踪审核 7. 协调上线 8. 监控反馈 ``` ### C. 相关资源 - [Flutter 安卓部署](https://docs.flutter.dev/deployment/android) - [Android App Bundle](https://developer.android.com/guide/app-bundle) - [华为应用市场审核标准](https://developer.huawei.com/consumer/cn/doc/huaweiapppGallery-Guides/0000001050059913) - [小米应用商店审核规范](https://dev.mi.com/distribute/doc/details?pId=1536) ### D. 联系方式 - 技术支持:support@jiloukeji.com - 商务咨询:business@jiloukeji.com --- **文档版本**: 1.0 **最后更新**: 2026-03-07 **维护**: 发布工程师团队