金融应用上线不是打个包传上去就完事。在鸿蒙生态里,我踩过权限漏配导致监控数据静默丢失的坑,后来慢慢收敛出一套工具化的做法——把上线、运维、监控、反馈和 CI/CD 都封装成单例,让行为可预期,出问题时也能快速定位是哪个环节掉了链子。
分层思路
我们按职责把工程动作拆成三层:
- 上线层:管 HAP 包的部署和启动。
- 运维层:管运行时资源、配置变更和故障恢复。
- 监控层:实时采集性能指标、崩溃、业务状态。
分层之后,排查问题不再需要一把抓。
拆成单例工具
把所有系统调用收敛到单例里,避免了随处 createHelper() 导致的状态混乱。做法很机械,但胜在入口唯一,日志和异常能统一挷定。
上线工具
entry/src/main/ets/utils/ApplicationLaunchUtil.ets 中对 @ohos.launch 的封装:
import launch from '@ohos.launch';
export class ApplicationLaunchUtil {
private static instance: ApplicationLaunchUtil | null = null;
private launchHelper: launch.LaunchHelper | null = null;
static getInstance(): ApplicationLaunchUtil {
if (!ApplicationLaunchUtil.instance) {
ApplicationLaunchUtil.instance = new ApplicationLaunchUtil();
}
return ApplicationLaunchUtil.;
}
(): <> {
(!.) {
. = launch.();
}
}
(): <launch.> {
(!.) {
;
}
result = ..();
result;
}
(): <launch.> {
(!.) {
;
}
result = ..();
result;
}
}


