【HarmonyOS/OpenHarmony】能力增强:面向全场景扩展的项目配置清单
【HarmonyOS/OpenHarmony】能力增强面向全场景扩展的项目配置清单前言 如果一个 OpenHarmony 项目未来想走向全场景扩展不能只盯着页面代码。应用级配置、模块配置、设备类型、构建版本、资源目录、页面注册、日志和安全检查都需要提前梳理。当前项目还没有实现完整全场景能力但它已经有不少基础配置文件非常适合整理成一份“面向全场景扩展的项目配置清单”。本文对应四大主题中的能力增强。清单一应用身份配置 app.json5 文件位置AppScope/app.json5当前核心配置{bundleName:xiao.hong.shu8,vendor:example,versionCode: 1000000,versionName:1.0.0,icon:$media:layered_image,label:$string:app_name}检查点包名是否稳定。应用名称是否走资源引用。图标是否走媒体资源。版本号是否便于后续迭代。vendor是否仍是示例值。当前项目中vendor还是example说明还处于基础工程阶段。后续正式化时可以替换为真实信息。清单二模块与设备配置 module.json5 文件位置entry/src/main/module.json5关键配置mainElement:EntryAbility,deviceTypes: [phone],pages:$profile:main_pages检查点主入口 Ability 是否明确。当前设备类型是否符合实际项目。页面 profile 是否引用正确。扩展 Ability 是否按需配置。不需要对外暴露的能力是否设置边界。当前项目只配置了phone。因此它目前不是多设备应用而是手机端基础应用。全场景扩展要从这里开始评估。清单三页面注册 main_pages.json ✅文件位置entry/src/main/resources/base/profile/main_pages.json当前配置{ src: [pages/Index] }检查点页面路径是否正确。EntryAbility中loadContent路径是否一致。新增页面后是否同步注册。页面命名是否稳定。当前项目只有pages/Index一个页面适合作为最小页面链路案例。清单四构建版本 build-profile.json5 ⚙️根目录构建配置包括targetSdkVersion:6.1.0(23),compatibleSdkVersion:6.0.2(22),runtimeOS:HarmonyOS检查点目标 SDK 是否符合开发需求。兼容 SDK 是否和 API 使用匹配。运行系统是否明确。strictMode 是否开启必要检查。debug / release 构建模式是否清楚。全场景扩展时SDK 版本和 API 支持范围非常重要。不能只写代码还要确认能力是否被目标版本支持。清单五资源分层 resources 当前项目已有base/element/string.json base/element/float.json base/element/color.json dark/element/color.json base/media/layered_image.json检查点文案是否资源化。字号是否资源化。颜色是否资源化。深色场景是否有基础覆盖。图标是否统一管理。当前资源数量不多但已经有分层基础。后续多场景视觉适配可以继续扩展资源 token。清单六入口 Ability 与日志 主 Ability 中有windowStage.loadContent(pages/Index,(err){if(err.code) { hilog.error(DOMAIN,testTag,Failed to load the content. Cause: %{public}s,JSON.stringify(err));return; } hilog.info(DOMAIN,testTag,Succeeded in loading the content.); });检查点页面加载失败是否有日志。生命周期是否有基础日志。日志是否避免输出敏感信息。错误信息是否便于定位问题。全场景扩展时入口问题更难排查。基础日志能帮助定位运行链路。清单七安全与质量配置 当前项目有code-linter.json5entry/obfuscation-rules.txtcode-linter.json5中包含安全规则例如security/no-unsafe-aes:error,security/no-unsafe-hash:error检查点ETS 文件是否纳入检查。安全规则是否启用。测试和 mock 目录是否合理忽略。release 混淆配置是否明确。混淆是否需要在发布前开启。当前项目有安全检查基础但没有完整安全体系。写文章时要保持这个边界。如何使用这份清单这份清单适合在两个阶段使用。第一写文章时使用。每写到一个全场景相关观点都回到项目文件中找依据。例如讲设备范围就看deviceTypes讲入口链路就看EntryAbility和main_pages.json讲视觉一致性就看 resources。第二后续开发时使用。每次想扩展新能力都先判断它会影响哪个层次应用配置、模块配置、页面注册、资源、构建、日志还是安全检查。这样可以避免所有改动都堆在页面里。对当前项目来说这份清单最大的作用不是证明能力已经完整而是帮助确认还差哪些基础能力。面向全场景扩展的真实结论 当前项目适合说项目具备全场景扩展的基础工程配置。当前项目只是基础工程具备配置、入口、资源、构建、安全检查等基础但没有真正形成多设备协同体验。把这个边界讲清楚文章会更可信。后续扩展路线 如果后续继续做可以按这个顺序先完善手机端页面体验。再抽取通用资源和组件。再考虑不同屏幕尺寸布局。再研究更多设备类型支持。最后结合官方能力做跨设备体验。这样会比一开始硬写全场景能力更真实也更容易落地。总结 这篇文章对应能力增强方向。面向全场景扩展当前项目可以检查的配置包括app.json5module.json5main_pages.jsonbuild-profile.json5resources 资源目录EntryAbility.etscode-linter.json5obfuscation-rules.txt这些配置不会直接等于全场景能力但它们是全场景扩展前必须打好的基础。工程底座越清楚后续做多设备、多场景、多入口体验时就越稳。