? 华为鸿蒙开发必备:应用配置的「户口本」全攻略 原创

lyc2333333
发布于 2025-6-26 22:47
浏览
0收藏

作为一个曾因配置错误导致应用上架失败的开发者,今天要分享鸿蒙应用配置的「避坑指南」!第一次提交应用市场被拒,就是因为包名写错,现在把这些血泪经验总结成攻略~

一、应用包名:应用的「身份证号」

1. 命名规则(像身份证号一样唯一)

  • 反向域名法:必须用com.example.应用名,比如com.harmony.demo
    • 字符限制:只能小写字母、数字、点号,不能以点开头/结尾
    • 长度限制:不超过255字符,太长记不住

2. 实战配置(config.json)

{
  "app": {
    "bundleName": "com.example.harmonyApp" // 包名配置
  }
}

3. 常见错误

  • 写成大写:Com.example.demo ❌ 必须全小写 ✅
    • 以点开头:.example.demo ❌ 正确com.example.demo
    • 重复包名:提交市场会提示冲突

二、图标与标签:应用的「颜值与姓名」

1. 图标配置三要素

类型 尺寸 放置位置
应用图标 108px×108px resources/base/media/
通知图标 24px×24px resources/base/media/
启动图标 144px×144px resources/base/media/

2. 标签配置(多国语言适配)

// config.json中引用字符串资源
{
  "app": {
    "label": "$string:app_name" // 引用字符串资源
  }
}

// 中文标签(resources/base/strings/strings.json)
{
  "app_name": "鸿蒙应用"
}

// 英文标签(resources/en/strings/strings.json)
{
  "app_name": "Harmony App"
}

3. 图标常见问题

  • 图标模糊:必须用矢量图转png,避免拉伸
    • 尺寸不对:通知图标用24px,别用大图标撑小位置

三、版本声明:应用的「年龄证明」

1. 版本号两部分

名称 作用 示例
显示版本号 用户看到的版本 “1.0.0”
内部版本码 系统识别版本 100(对应1.0.0)

2. 配置示例(config.json)

{
  "app": {
    "version": {
      "name": "1.0.0", // 显示给用户的版本
      "code": 100       // 系统用的版本码
    }
  }
}

3. 版本更新策略

  • 迭代更新:次版本号+1,如1.0.0→1.1.0
    • 重大更新:主版本号+1,如1.0.0→2.0.0
    • 修订更新:修订号+1,如1.0.0→1.0.1

四、设备类型:应用的「活动范围」

1. 支持的设备类型

{
  "deviceType": [
    "phone",       // 手机
    "tablet",      // 平板
    "watch",       // 手表
    "car",         // 车载
    "tv"           // 电视
  ]
}

2. 设备适配技巧

  • 手机+平板:用响应式布局适配不同屏幕
    • 手表:简化界面,突出核心功能

五、权限配置:应用的「通行证」

1. 常见权限配置

{
  "module": {
    "reqPermissions": [
      {
        "name": "ohos.permission.READ_USER_STORAGE", // 读存储权限
        "usedScene": {
          "when": "inUse",
          "description": "需要读取相册图片"
        }
      },
      {
        "name": "ohos.permission.ACCESS_FINE_LOCATION", // 定位权限
        "usedScene": {
          "when": "inUse",
          "description": "需要获取位置信息"
        }
      }
    ]
  }
}

2. 权限申请时机

权限类型 申请时机 示例场景
普通权限 应用启动时申请 网络访问
危险权限 使用时弹窗申请 定位、存储

六、完整配置示例:应用的「户口本」

{
  "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": "需要使用麦克风"
        }
      }
    ]
  }
}

七、上架避坑指南:配置错误大盘点

  1. 包名错误
    • 写成com.Example.demo(含大写)→ 市场拒绝上架
    • 正确:com.example.demo
  2. 图标问题
    • 图标尺寸不对(如通知图标用108px)→ 显示模糊
    • 正确:按规范放对应尺寸图标
  3. 权限缺失
    • 读存储没配权限→运行时崩溃
    • 正确:配置ohos.permission.READ_USER_STORAGE

最后碎碎念

第一次提交应用市场时,因为包名写成com.example.HarmonyApp(含大写)被拒,改了3次才通过~ 现在养成了配置后必查规范的习惯~

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
标签
收藏
回复
举报
回复
    相关推荐