
回复
作为一个曾因配置错误导致应用上架失败的开发者,今天要分享鸿蒙应用配置的「避坑指南」!第一次提交应用市场被拒,就是因为包名写错,现在把这些血泪经验总结成攻略~
com.example.应用名
,比如com.harmony.demo
{
"app": {
"bundleName": "com.example.harmonyApp" // 包名配置
}
}
Com.example.demo
❌ 必须全小写 ✅.example.demo
❌ 正确com.example.demo
✅类型 | 尺寸 | 放置位置 |
---|---|---|
应用图标 | 108px×108px | resources/base/media/ |
通知图标 | 24px×24px | resources/base/media/ |
启动图标 | 144px×144px | resources/base/media/ |
// config.json中引用字符串资源
{
"app": {
"label": "$string:app_name" // 引用字符串资源
}
}
// 中文标签(resources/base/strings/strings.json)
{
"app_name": "鸿蒙应用"
}
// 英文标签(resources/en/strings/strings.json)
{
"app_name": "Harmony App"
}
名称 | 作用 | 示例 |
---|---|---|
显示版本号 | 用户看到的版本 | “1.0.0” |
内部版本码 | 系统识别版本 | 100(对应1.0.0) |
{
"app": {
"version": {
"name": "1.0.0", // 显示给用户的版本
"code": 100 // 系统用的版本码
}
}
}
{
"deviceType": [
"phone", // 手机
"tablet", // 平板
"watch", // 手表
"car", // 车载
"tv" // 电视
]
}
{
"module": {
"reqPermissions": [
{
"name": "ohos.permission.READ_USER_STORAGE", // 读存储权限
"usedScene": {
"when": "inUse",
"description": "需要读取相册图片"
}
},
{
"name": "ohos.permission.ACCESS_FINE_LOCATION", // 定位权限
"usedScene": {
"when": "inUse",
"description": "需要获取位置信息"
}
}
]
}
}
权限类型 | 申请时机 | 示例场景 |
---|---|---|
普通权限 | 应用启动时申请 | 网络访问 |
危险权限 | 使用时弹窗申请 | 定位、存储 |
{
"app": {
"bundleName": "com.example.harmonyDemo", // 包名
"vendor": "HarmonyDeveloper", // 厂商名
"version": {
"name": "1.0.0", // 显示版本
"code": 100 // 内部版本码
},
"label": "$string:app_name", // 应用标签
"icon": "$media:app_icon" // 应用图标
},
"deviceType": [
"phone", "tablet" // 支持设备
],
"module": {
"package": "com.example.harmonyDemo.entry",
"name": ".MyApplication",
"reqPermissions": [
{
"name": "ohos.permission.READ_USER_STORAGE",
"usedScene": {
"when": "inUse",
"description": "需要读取相册图片"
}
},
{
"name": "ohos.permission.MICROPHONE",
"usedScene": {
"when": "inUse",
"description": "需要使用麦克风"
}
}
]
}
}
com.Example.demo
(含大写)→ 市场拒绝上架com.example.demo
ohos.permission.READ_USER_STORAGE
第一次提交应用市场时,因为包名写成com.example.HarmonyApp
(含大写)被拒,改了3次才通过~ 现在养成了配置后必查规范的习惯~