一、账号与实名认证准备
-
开发者账号注册
- 访问华为开发者联盟官网,注册账号并完成企业实名认证(需营业执照)或个人实名认证(需身份证)。
- 申请加入受邀名单:发送邮件至华为官方申请,否则无法提交上架审核。
-
环境配置
- 安装DevEco Studio 4.0+,勾选HarmonyOS SDK(API 12+)、Node.js(≥14.19.1)及Ohpm包管理器。
- 验证环境:
node -v # 检查Node版本 ohpm -v # 验证Ohpm版本≥1.0.0
二、应用合规性检查(重点)
-
隐私政策
- 独立页面声明数据收集类型(如用户位置、饮食偏好),需明确说明第三方SDK(如支付、地图)的数据使用范围。
- 代码示例(ArkTS):
@Entry @Component struct PrivacyPolicyPage { build() { Scroll() { Text('收集数据:位置、设备ID、饮食记录...') } } }
- 医疗数据特殊要求:涉及健康指标(如卡路里计算)需提供《食品数据安全评估报告》。
-
权限声明
- 在
module.json5
中精准声明权限,避免冗余请求:"requestPermissions": [ { "name": "ohos.permission.LOCATION", "reason": "推荐附近餐厅" }, { "name": "ohos.permission.DISTRIBUTED_DATASYNC", "reason": "跨设备同步烹饪进度" } ]
- 动态申请敏感权限(如相机调用AR量具功能)。
- 在
三、签名与编译优化
-
签名流程
- 生成密钥:在DevEco Studio选择
Build > Generate Key and CSR
,设置有效期≥25年。 - 申请证书:
- 登录AppGallery Connect → 证书管理 → 上传CSR文件 → 下载发布证书(.cer)和Profile文件(.p7b)。
- 配置签名:在
build-profile.json5
中关联证书:"signingConfigs": [{ "name": "release", "material": { "storeFile": "myharmony.keystore", "certpath": "cert/example.cer", "profile": "profile.p7b" } }]
- 生成密钥:在DevEco Studio选择
-
包体积控制
- 主包(.app格式)≤2GB,子包(.hap)按设备类型区分:
- 手机/大屏设备:≤2GB
- 手表/路由器:≤20MB
- 原子化服务卡片:≤10MB。
- 优化策略:
- 资源:使用WebP图片格式 + SVG图标(体积减少60%)。
- 代码:启用ProGuard混淆,移除未用库。
- 主包(.app格式)≤2GB,子包(.hap)按设备类型区分:
四、多设备适配策略
- 响应式布局
- 通过屏幕尺寸动态切换UI(示例代码):
@Entry @Component struct AdaptiveLayout { @State currentLayout: string = 'phone' aboutToAppear() { device.screen.onChange((info) => { if (info.width >= 1200) this.currentLayout = 'tablet'; else if (info.width >= 600) this.currentLayout = 'foldable'; }) } } ``` [1](@ref)
- 通过屏幕尺寸动态切换UI(示例代码):
- 分布式能力校验
- 调用跨设备功能前检测硬件支持:
const supportAR = DistributedHardwareManager.checkDeviceCapability( DeviceCapability.AI_INFERENCE, DeviceCapability.LEVEL_MID );
- 降级方案:手表设备自动屏蔽视频教程,替换为图文步骤。
- 调用跨设备功能前检测硬件支持:
五、上架材料与提交流程
-
必备材料清单
类型 要求 应用图标 216×216px PNG透明背景 截图 5张(1242×2208px),展示核心功能 测试账号 含预填充菜品数据(如有登录功能) 版权证明 菜谱图片/视频的授权文件 -
提交流程
- 登录AppGallery Connect → 创建HarmonyOS应用 → 填写包名(全网唯一,不与安卓重复)。
- 上传签名的.app包 → 配置分发国家/年龄分级 → 提交审核(避开代理环境)。
六、审核加速与问题处理
-
常见被拒原因
- 隐私问题:未明确说明第三方SDK(如支付模块)的数据收集。
- 功能缺陷:AR量具崩溃(需真机测试NPU兼容性)。
- 性能不足:冷启动时间>1.5秒(优化建议:预加载JS Bundle)。
-
加速审核技巧
- 使用开放式测试功能小范围验证后再全量发布。
- 集成华为分析SDK,提交运行时性能报告:
hiAnalytics.onEvent('cooking_step_complete', { duration: 120 }); ``` [1](@ref)
上架前自查清单
类别 | 检查项 |
---|---|
账号 | 实名认证完成 + 受邀名单审核通过 |
签名 | 发布证书(.cer)与Profile(.p7b)匹配 |
隐私合规 | 独立页面声明 + 用户同意触发逻辑 |
设备兼容 | 至少覆盖3款设备(手机/手表/智慧屏) |
性能 | 内存峰值≤80%系统限制,无ANR事件 |