最近深入研究了HarmonyOS应用的上架流程,发现与传统的Android和iOS应用商店上架有很大不同。本文将详细介绍HarmonyOS应用从准备到成功上架的完整流程,包含关键步骤、注意事项和实用代码示例。
一、上架前的准备工作
1.1 注册开发者账号
首先,你需要访问[HarmonyOS应用开发者官网](https://developer.harmonyos.com/)注册账号。注册流程包括:
1. 填写基本信息(邮箱、手机号等)
2. 进行实名认证(个人开发者需要身份证,企业需要营业执照)
3. 签署开发者协议
**注意**:企业开发者需要准备营业执照扫描件和开户银行信息,审核通常需要1-3个工作日。
1.2 安装开发环境
确保你的开发环境已正确配置:
```bash
# 使用npm安装DevEco Studio CLI工具
npm install -g @ohos/hpm-cli
# 或者直接下载DevEco Studio IDE
# 下载地址:https://developer.harmonyos.com/cn/develop/deveco-studio
```
1.3 应用基本信息准备
在上架前,你需要准备好以下材料:
- 应用图标(多种尺寸:512x512, 216x216, 144x144, 108x108, 72x72像素)
- 应用截图(至少3张,建议5张,尺寸为450x800像素)
- 应用描述(简洁明了,突出核心功能)
- 隐私政策链接(如果你的应用会收集用户数据)
二、应用开发与配置
2.1 配置应用信息
在项目的`config.json`文件中,确保以下信息正确:
```json
{
"app": {
"bundleName": "com.yourcompany.yourapp",
"vendor": "yourcompany",
"version": {
"code": 100,
"name": "1.0.0"
},
"apiVersion": {
"compatible": 4,
"target": 5,
"releaseType": "Release"
}
},
"deviceConfig": {},
"module": {
"package": "com.yourcompany.yourapp",
"name": ".MyApplication",
"mainAbility": ".MainAbility",
"deviceType": [
"phone",
"tablet",
"tv",
"wearable"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry"
}
}
}
```
2.2 实现关键生命周期方法
确保你的Ability正确处理生命周期:
```typescript
// MainAbility.ts
export default class MainAbility extends Ability {
onCreate(want, launchParam) {
console.log('MainAbility onCreate');
// 初始化代码
}
onDestroy() {
console.log('MainAbility onDestroy');
// 清理资源
}
onWindowStageCreate(windowStage) {
console.log('MainAbility onWindowStageCreate');
// 加载UI页面
windowStage.loadContent('pages/index', (err, data) => {
if (err.code) {
console.error('Failed to load the content. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data))
});
}
onWindowStageDestroy() {
// 窗口销毁处理
}
onForeground() {
// 应用回到前台
}
onBackground() {
// 应用进入后台
}
}
```
三、应用签名与打包
3.1 生成签名证书
HarmonyOS应用必须签名后才能上架。生成签名证书的步骤如下:
1. 打开DevEco Studio,选择"Build" > "Generate Key and CSR"
2. 填写证书信息:
- Key Alias: 你的密钥别名
- Key Password: 密钥密码
- Validity: 证书有效期(建议至少25年)
- Certificate: 填写开发者信息
**注意**:请妥善保存生成的.p12文件和密码,这是应用更新的唯一凭证。
3.2 配置签名信息
在项目的`build-profile.json5`中添加签名配置:
```json
{
"app": {
"signingConfigs": [{
"name": "release",
"material": {
"certpath": "sign/release.p12",
"storePassword": "yourpassword",
"keyAlias": "youralias",
"keyPassword": "yourpassword",
"profile": "sign/release.p7b",
"signAlg": "SHA256withECDSA",
"type": "pkcs12"
}
}]
}
}
```
3.3 构建发布包
使用以下命令构建发布包:
```bash
调试构建
npm run build
发布构建
npm run build:release
```
或者在DevEco Studio中选择:
1. "Build" > "Build Hap(s)/App(s)" > "Build Release App(s)"
2. 选择签名配置
3. 等待构建完成,生成的.app文件位于`build/outputs/app/release/`目录
四、应用上架流程
4.1 创建应用
1. 登录[AppGallery Connect](https://developer.huawei.com/consumer/cn/service/josp/agc/index.html)
2. 选择"我的项目" > "添加项目"
3. 填写项目名称和时区
4. 在项目中点击"添加应用"
- 平台选择"HarmonyOS"
- 填写应用名称、类别、默认语言等
4.2 上传应用包
1. 在应用信息页面,选择"版本管理"
2. 点击"上传版本",选择你构建的.app文件
3. 填写版本信息:
- 版本号(与config.json中一致)
- 更新说明(中英文)
- 上传应用截图和宣传图
4.3 设置应用详情
在"应用信息"选项卡中完善以下内容:
1. 基本信息:名称、类别、简介等
2. 图文信息:上传高质量的截图和宣传图
3. 定价与分发:选择免费或付费,选择分发国家/地区
4. 内容分级:根据应用内容选择适当的分级
5. 隐私声明:提供隐私政策链接
4.4 提交审核
1. 确认所有信息填写完整正确
2. 点击"提交审核"按钮
3. 等待审核(通常需要1-3个工作日)
**常见审核不通过原因**:
- 应用功能不完整或存在明显bug
- 截图与实际功能不符
- 隐私政策不完善
- 应用描述含有误导性内容
五、审核通过后的管理
5.1 发布应用
审核通过后,你会收到通知邮件。登录开发者后台:
1. 进入"版本管理"
2. 点击"发布"按钮
3. 选择发布方式:
- 立即发布
- 定时发布
- 手动发布
5.2 监控应用状态
应用发布后,你可以在后台查看:
- 下载量统计
- 用户评价
- 崩溃报告
- 收入情况(如果是付费应用)
5.3 更新应用
当需要更新应用时:
1. 修改config.json中的版本号(code和name)
2. 构建新的发布包
3. 在"版本管理"中上传新版本
4. 填写更新说明
5. 提交审核
六、高级技巧与注意事项
6.1 多设备适配
HarmonyOS支持多种设备类型,确保你的应用适配良好:
```json
// config.json中的deviceType配置
"deviceType": [
"phone", // 手机
"tablet", // 平板
"tv", // 智慧屏
"wearable", // 智能手表
"car" // 车机
]
6.2 权限声明
所有使用的权限必须在config.json中声明:
```json
"reqPermissions": [
{
"name": "ohos.permission.INTERNET",
"reason": "需要访问网络获取数据",
"usedScene": {
"ability": ["MainAbility"],
"when": "always"
}
},
{
"name": "ohos.permission.READ_USER_STORAGE",
"reason": "需要读取用户文件",
"usedScene": {
"ability": ["FileAbility"],
"when": "inuse"
}
}
]
```
6.3 国际化支持
为支持多语言,创建资源文件:
```
resources/
├── base/
│ ├── element/
│ │ └── string.json (默认字符串)
├── en_US/
│ ├── element/
│ │ └── string.json (英文字符串)
└── zh_CN/
├── element/
│ └── string.json (中文字符串)
```
string.json示例:
```json
{
"string": [
{
"name": "app_name",
"value": "My Application"
},
{
"name": "main_page_title",
"value": "Home"
}
]
}
```
七、常见问题解答
**Q1: 审核一般需要多长时间?**
A: 通常1-3个工作日,高峰期可能延长。
**Q2: 应用被拒后如何重新提交?**
A: 修改问题后,在版本管理中重新上传并提交审核。
**Q3: 可以同时上架多个HarmonyOS设备类型吗?**
A: 可以,但需要确保在每个设备类型上都能正常运行。
**Q4: 如何加快审核速度?**
A: 确保应用信息完整准确,避免在节假日提交。
**Q5: 应用可以同时上架华为AppGallery和其他商店吗?**
A: 可以,但需要注意不同商店可能有不同的政策要求。
结语
HarmonyOS作为新兴的操作系统,其应用生态正在快速发展。通过本文的详细指南,你应该能够顺利完成HarmonyOS应用的上架流程。记住,良好的应用质量和完善的应用信息是成功上架的关键。随着HarmonyOS生态的不断壮大,现在正是加入这个平台的最佳时机。
如果你在上架过程中遇到任何问题,可以参考华为官方文档或在开发者社区寻求帮助。祝你的HarmonyOS应用上架顺利!