鸿蒙开发Bundle配置信息总结

一、配置文件结构

  1. 核心组成部分

    • app:应用全局配置,包含bundleName(应用唯一标识)、version(版本信息)和apiVersion(API依赖版本)
    • deviceConfig:设备特定配置,包含default(通用设备)、phone、tablet等设备类型配置
    • module:HAP包配置,包含package(包结构名称)、abilities(能力配置)和reqPermissions(权限声明)
  2. 关键配置示例

    css 复制代码
    {
      "app": {
        "bundleName": "com.example.myapplication",
        "version": {
          "code": 1,
          "name": "1.0"
        },
        "apiVersion": {
          "compatible": 4,
          "target": 5
        }
      },
      "deviceConfig": {},
      "module": {
        "package": "com.example.myapplication.entrymodule",
        "abilities": [
          {
            "skills": [{"entities": ["entity.system.home"], "actions": ["action.system.home"]}],
            "name": "com.example.myapplication.MainAbility",
            "type": "page"
          }
        ]
      }
    }

二、常见问题解决方案

  1. bundleName配置错误

    • 问题:包名格式不符合规范导致安装失败
    • 解决方案 :采用反向域名格式(如com.company.app),至少包含三段,避免使用保留词(harmony/ohos等)
  2. 权限声明缺失

    • 问题:应用无法访问网络或存储
    • 解决方案 :在module中添加权限声明
    json 复制代码
    "reqPermissions": [
      {"name": "ohos.permission.INTERNET"},
      {"name": "ohos.permission.READ_USER_STORAGE"}
    ]
  3. 多HAP包冲突

    • 问题:entry和feature模块配置冲突
    • 解决方案 :在build-profile.json5中配置多目标产物
    json 复制代码
    "targets": [
      {"name": "phone", "config": {"deviceType": ["phone"]}},
      {"name": "tablet", "config": {"deviceType": ["tablet"]}}
    ]

三、开发案例参考

  1. 多设备适配案例

    • 通过deviceType配置支持多设备类型
    json 复制代码
    "deviceType": ["phone", "tablet", "car"]
  2. 动态Bundle加载

    • 配置按需加载的动态模块
    json 复制代码
    "dynamic": [
      {
        "name": "payment",
        "condition": "device.storage > 128GB",
        "prefetch": true
      }
    ]
  3. 签名配置最佳实践

    • 使用V3签名机制
    json 复制代码
    "signingConfig": {
      "version": "3.0",
      "certificatePath": "./keys/release.p12",
      "provisionProfile": "./profiles/distribution.mobileprovision"
    }

四、关键注意事项

  1. 配置文件位置 :Stage模型使用app.json5和module.json5,FA模型使用config.json
  2. 版本兼容性:API版本需与DevEco Studio和SDK版本匹配
  3. 多目标构建 :通过product和target配置实现差异化打包

五、官方资源

相关推荐
aqi007 小时前
鸿蒙版本的电子书阅读APP开放源码啦
android·华为·ai编程·harmonyos·鸿蒙
xq952711 小时前
HDC Assistant 插件横空出世
harmonyos
OH_TPC19 小时前
【鸿蒙优选三方库】@ohos/aki:一行代码让 ArkTS 调 C++
harmonyos
wenyiyiyiyiyi19 小时前
我用鸿蒙 ArkTS 写了个自己天天用的备忘录:待办、课表和长期目标,全塞进一块桌面卡片
harmonyos
承渊政道1 天前
鸿蒙设备远控电脑实测:ToDesk蓝牙键鼠、双模式鼠标、跨端剪贴板,远控电脑更顺手了
计算机外设·电脑·harmonyos·远程工作·todesk
CV工程师丁Sir1 天前
ArkWeb 手记 04|DevTools 调试与缓存清理
java·spring·缓存·harmonyos
程序猿追1 天前
HarmonyOS 6 上做个极简浏览器:Web 组件 + 前进后退 + 加载进度
前端·华为·harmonyos
程序猿追1 天前
HarmonyOS 6 音视频实战:用 AVPlayer 做一个本地音乐播放器
华为·音视频·harmonyos
威哥爱编程2 天前
HarmonyOS 7 多设备 UX 自动检测实战:AppAnalyzer 多设备体检 + 一多工程底线,提前拦截截断重叠大图大字
harmonyos
威哥爱编程2 天前
HarmonyOS 7 安全相机 2.0 实战:数字内容溯源,为拍摄内容提供来源保护
harmonyos