惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
Blog — PlanetScale
Blog — PlanetScale
腾讯CDC
A
About on SuperTechFans
Vercel News
Vercel News
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
S
SegmentFault 最新的问题
V
Visual Studio Blog
T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
博客园 - 【当耐特】
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Azure Blog
Microsoft Azure Blog
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
美团技术团队

博客园 - GoGrid

企业级详述:ArkTS 尾随闭包(Trailing Closure) 企业级视角下的 ArkTS 深度解析 企业级面向切面编程(AOP)详解 ArkTS 与 ArkUI 详述 ArkUI框架px2vp等单位转换API修正示例与速查手册 HarmonyOS单位转换API迁移指南与最佳实践 HarmonyOS Toast弹窗企业级开发规范与最佳实践 ArkUI Stage模型企业级实用教程 企业级鸿蒙HAP开发指南 HarmonyOS LazyForEach企业级开发规范与实战指南 ArkTS LazyForEach 企业级技术详解与最佳实践 ArkTS ForEach 企业级技术规范与最佳实践 ArkTS $与this关键字企业级技术详解 ArkUI 企业级开发实用教程 DevEco Studio 中文支持与路径配置指南 ArkTS V1 与 V2 装饰器映射关系企业级参考文档 ArkTS @ComponentV2 与 @Component 企业级对比技术文档 ArkTS 声明式开发企业级技术指南 ArkTS struct 企业级技术规范文档 ArkTS 对象字面量企业级技术规范文档 ArkTS @Prop 装饰器技术说明文档 DevEco Studio 预览功能使用指南 ArkTS中.ets后缀含义说明
鸿蒙ohos前缀命名规范与资源体系详解
GoGrid · 2026-04-09 · via 博客园 - GoGrid

鸿蒙ohos前缀命名规范与资源体系详解

本文档系统阐述鸿蒙生态中ohos前缀的来源、含义、使用场景及相关命名规范,帮助开发者深入理解鸿蒙资源体系与API命名规则,避免开发中的命名混淆与使用错误。

一、ohos含义解析

ohos是OpenHarmony Operating System的缩写,即开源鸿蒙操作系统,是鸿蒙生态的核心标识。具体拆解如下:

O

Open

开放、开源

H

Harmony

鸿蒙(HarmonyOS生态品牌)

O

Operating

操作(系统)

S

System

系统

在华为/鸿蒙开发上下文中,ohos_常作为资源、API或模块的前缀,表示"属于OpenHarmony / HarmonyOS体系",是鸿蒙生态的统一命名空间标识。

二、OpenHarmony与HarmonyOS的关系

理解ohos前缀需要先明确OpenHarmony与HarmonyOS的区别与联系:

项目

OpenHarmony

HarmonyOS(华为鸿蒙)

性质

开源项目

商业发行版

运营主体

开放原子开源基金会

华为技术有限公司

开源协议

Apache 2.0

包含闭源组件

核心组成

操作系统基础框架、基础服务、公共API

基于OpenHarmony + 华为自研闭源组件(HMS、华为云服务、硬件驱动等)

适用范围

所有厂商可自由使用、修改、发行

仅适用于华为品牌设备及合作伙伴授权设备

API兼容性

公共API完全兼容

向下兼容OpenHarmony API,扩展华为专属API

ohos前缀使用

全量使用

公共API使用ohos前缀,华为扩展API使用huawei前缀

开发提示

日常开发中,ohos_前缀既出现在纯OpenHarmony项目中,也出现在HarmonyOS应用中,两者公共API基本兼容。开发跨设备通用应用时优先使用ohos前缀的公共API,确保最大兼容性。

三、ohos前缀的使用场景

3.1 系统API模块(@ohos.*)

鸿蒙系统提供的原生API模块均以@ohos.为前缀,是应用开发的核心能力来源:

// 基础能力
import promptAction from '@ohos.promptAction'; // 弹窗能力
import router from '@ohos.router'; // 路由能力
import http from '@ohos.net.http'; // 网络请求
import fileIo from '@ohos.fileio'; // 文件操作

// 系统服务
import notification from '@ohos.notificationManager'; // 通知管理
import location from '@ohos.geolocation'; // 定位能力
import camera from '@ohos.multimedia.camera'; // 相机能力

// UI组件
import { Button, Text, Image } from '@ohos.arkui.advanced'; // 高级UI组件

API分类

命名规则

示例

基础能力

@ohos.模块名

@ohos.util, @ohos.buffer

系统服务

@ohos.服务名Manager/Service

@ohos.notificationManager, @ohos.powerManager

多媒体

@ohos.multimedia.子模块

@ohos.multimedia.camera, @ohos.multimedia.audio

网络通信

@ohos.net.子模块

@ohos.net.http, @ohos.net.socket

ArkUI组件

@ohos.arkui.组件类型

@ohos.arkui.advanced, @ohos.arkui.tsui

3.2 资源命名(ohos_前缀)

鸿蒙应用资源统一使用ohos_作为前缀,遵循OpenHarmony资源规范:

// 资源引用示例
Image($r('ohos.media.app_icon')) // 应用图标
Text($r('ohos.string.app_name')) // 应用名称
Color($r('ohos.color.primary')) // 主题主色
Float($r('ohos.float.button_radius')) // 圆角数值

系统内置资源与自定义资源的区别:

资源类型

命名格式

示例

说明

系统内置资源

$r('sys.ohos_*')

$r('sys.ohos_ic_back')

系统提供的公共资源,所有应用可直接使用

应用自定义资源

$r('app.ohos_*')

$r('app.ohos_app_icon')

应用自身定义的资源,仅当前应用可用

3.3 权限命名

鸿蒙系统权限均以ohos.permission.为前缀,是应用访问系统能力的准入标识:

// 常用权限示例
"ohos.permission.INTERNET" // 网络访问权限
"ohos.permission.LOCATION" // 定位权限
"ohos.permission.CAMERA" // 相机权限
"ohos.permission.READ_MEDIA" // 媒体读取权限
"ohos.permission.NOTIFICATION_CONTROL" // 通知权限

3.4 系统属性与配置

系统配置项、属性值等也使用ohos前缀标识:

// module.json5配置示例
{
  "module": {
    "name": "entry",
    "type": "entry",
    "ohos:compileSdkVersion": 12,
    "ohos:compatibleSdkVersion": 12,
    "ohos:targetSdkVersion": 12,
    "ohos:releaseType": "Release"
  }
}

四、资源体系命名规范

4.1 资源分类与命名规则

资源类型

目录

命名规范

示例

字符串

element/string.json

ohos_模块_功能_描述

ohos_login_title, ohos_home_welcome

颜色

element/color.json

ohos_color_功能_状态

ohos_color_primary, ohos_color_text_disabled

数值

element/float.json

ohos_float_组件_属性

ohos_float_button_height, ohos_float_card_radius

布尔值

element/boolean.json

ohos_bool_功能_开关

ohos_bool_dark_mode_enabled

图片资源

media/

ohos_ic_功能_描述

ohos_ic_back, ohos_ic_home_selected

动画资源

animation/

ohos_anim_场景_类型

ohos_anim_page_transition, ohos_anim_loading

布局资源

layout/

ohos_layout_页面_组件

ohos_layout_home_header, ohos_layout_item_product

4.2 命名最佳实践

• 语义化:资源名称应清晰表达用途,避免无意义的缩写和数字编号

• 统一前缀:所有自定义资源统一使用ohos_前缀,与系统资源保持一致的命名风格

• 模块划分:多模块项目中资源名应包含模块前缀,避免资源冲突

• 状态标识:不同状态的资源名称应包含状态后缀(_normal、_pressed、_selected、_disabled等)

• 全小写:资源名称全部使用小写字母,单词间用下划线分隔

// ✅ 正确:语义化命名
ohos_ic_login_button_normal.png
ohos_ic_login_button_pressed.png
ohos_string_login_error_password_wrong.json

// ❌ 错误:命名不规范
icon1.png
btn.png
error_msg.json

五、企业级开发规范

5.1 API使用规范

• 优先使用公共API:优先使用@ohos.*前缀的公共API,确保应用的跨设备兼容性

• 避免使用非公开API:不使用@ohos._*开头的私有API,避免版本升级时兼容性问题

• 版本适配:使用高版本API时添加版本判断,确保低版本系统上的兼容性

• 权限最小化:只申请必要的ohos.permission.*权限,避免过度申请

5.2 资源管理规范

• 资源复用:公共资源统一管理,避免重复定义相同功能的资源

• 多语言支持:所有字符串资源都放在string.json中,禁止硬编码文本

• 主题适配:颜色、数值等资源使用主题定义,支持深色模式等多主题切换

• 资源清理:定期清理未使用的资源,减少安装包体积

5.3 代码审查检查清单

1. ✅ 所有API导入使用正确的@ohos.*前缀,无拼写错误

2. ✅ 所有自定义资源使用ohos_前缀,命名符合规范

3. ✅ 权限申请使用正确的ohos.permission.*前缀

4. ✅ 没有使用未公开的私有API

5. ✅ 资源命名语义化,无无意义名称

6. ✅ 相同功能的资源没有重复定义

7. ✅ 字符串资源没有硬编码在代码中

8. ✅ 高版本API调用添加了版本适配逻辑

六、常见问题解答

Q:ohos前缀的资源和API在OpenHarmony和HarmonyOS上都能使用吗?

A:是的,ohos前缀的公共API和资源在两个体系中完全兼容,是跨设备开发的首选。华为扩展的专属API会使用huawei前缀,仅在HarmonyOS设备上可用。

Q:自定义资源必须使用ohos前缀吗?

A:不是强制要求,但强烈建议遵循官方命名规范,使用ohos_前缀,保持代码风格统一,提升可读性和可维护性。

Q:@ohos.*和@kit.*的区别是什么?

A:@kit.*API 12+引入的新模块化导入方式,是对原有@ohos.*模块的重新组织和封装,功能完全兼容,新的开发推荐使用@kit方式导入。

// 旧方式
import promptAction from '@ohos.promptAction';

// 新方式(API 12+推荐)
import { promptAction } from '@kit.ArkUI';

Q:sys.ohos_开头的资源可以修改吗?

A:不可以,sys前缀的资源是系统内置资源,应用只能读取使用,无法修改。自定义资源使用app.ohos_前缀。

扩展阅读

OpenHarmony开源项目主页
鸿蒙资源分类与访问官方指南
鸿蒙系统权限列表

文档版本:V1.0 | 适配版本:HarmonyOS NEXT API 12+ | 更新日期:2024年4月