龍魂鸿蒙技能 · longhun-harmonyos SKILL.md v1.0
DNA:#龍芯⚡️丙午·丙申·癸丑·申时·需-LONGHUN-HARMONYOS-SKILL-v1.0
注册日期: 2026-07-08
技能编号: SKILL-031
安全级别: S4 (SM4国密端侧加密·数据不出境)
知识来源: ai6s.net 63K开发者社区 + 鸿蒙API交付标准模板 + 论文Behavioral Cryptography
技能概述
面向鸿蒙(HarmonyOS)生态的全栈开发技能:从ArkTS/ArkUI基础到原生应用交付,覆盖调试、适配、性能优化、安全加密全链路。
触发词
鸿蒙 / HarmonyOS / ArkTS / ArkUI / 华为开发 / 鸿蒙适配 / 鸿蒙调试 / hdc / DevEco / 鸿蒙部署 / 鸿蒙原生
人格路由
| 场景 | 人格 |
|---|
| 鸿蒙代码编写/调试 | P02 龍芯 + P15 乔前辈 |
| 鸿蒙安全审计 | P77 黑天使军团 |
| 鸿蒙API交付 | P02 龍芯 + P05 上帝之眼 |
| 鸿蒙架构设计 | P02 龍芯 + P06 数学大师 |
| 跨平台迁移(Android→鸿蒙) | P15 乔前辈 + P02 龍芯 |
一、ArkTS & ArkUI 核心知识
1.1 基础概念
ArkTS = TypeScript超集 + 静态类型检查 + 声明式UI + 状态管理 (大脑) ArkUI = 声明式UI框架 (画笔) 一句话: ArkTS写逻辑,ArkUI画界面
1.2 装饰器全集
| 装饰器 | 类别 | 作用 | 使用场景 |
|---|
| @State | 组件内状态 | 变量变→UI刷新 | 表单输入、开关状态 |
| @Prop | 父子单向 | 父传子·子不可逆 | 列表项数据展示 |
| @Link | 父子双向 | 共享引用·双向同步 | 弹窗编辑、抽屉 |
| @ObjectLink | 嵌套对象 | 深层对象追踪 | 复杂数据模型 |
| @Observed | 嵌套对象 | 标记可观察类 | 配合@ObjectLink |
| @StorageLink | 全局状态 | AppStorage双向 | 主题/语言切换 |
| @StorageProp | 全局单向 | AppStorage单向 | 全局配置读取 |
| @Component | 组件标记 | 声明自定义组件 | 所有自定义组件 |
| @Builder | UI片段 | 可复用UI模板 | 重复UI结构 |
| @Entry | 页面入口 | 标记页面级组件 | 每个页面 |
| @Local(V2) | 组件内部 | V2版替代@State | 新项目推荐 |
| @Param(V2) | 参数传递 | V2版替代@Prop | 新项目推荐 |
| @Event(V2) | 事件回调 | V2版回调 | 新项目推荐 |
| @ObservedV2 | 类观察 | V2版替代@Observed | 新项目推荐 |
| @Trace | 属性追踪 | V2版细粒度追踪 | 新项目推荐 |
1.3 四种定位详解
| 方式 | 脱离文档流 | 参考系 | 多端适配 | 典型场景 |
|---|
| .offset({x,y}) | ❌ 原位置保留 | 自身原位置 | ⭐⭐⭐ | 微调红点、气泡 |
| .position({x,y}) | ✅ 不占位 | 父容器左上角 | ⭐ | 绝对覆盖 |
| RelativeContainer | ❌ | 锚点组件 | ⭐⭐⭐⭐ | 复杂表单、仪表盘 |
| Stack+Alignment | ❌ | 九宫格方位 | ⭐⭐⭐ | 封面+角标、弹窗 |
1.4 let/const/@State 区别
| let | const | @State |
|---|
| 可变 | ✅ | ❌ | ✅ |
| UI响应 | ❌ | ❌ | ✅ |
| 用途 | 临时计算 | 不可变常量 | 界面数据 |
| 本质 | ES6语法 | ES6语法 | ArkTS框架 |
1.5 布局最佳实践
// ✅ 推荐: 自适应布局Column(){Text('标题').fontSize(20)Row(){Text('左').layoutWeight(1)Text('右').layoutWeight(1)}.width('100%')}.padding(16)// ✅ 推荐: 断点响应@Componentstruct ResponsiveGrid{@Statecolumns:number=2aboutToAppear(){// 根据屏幕宽度动态设置列数this.columns=display.getDefaultDisplaySync().width>600?4:2}build(){Grid(){ForEach(data,(item)=>{GridItem(){ItemCard({item})}})}.columnsTemplate(`repeat(${this.columns}, 1fr)`)}}// ❌ 避免: 写死尺寸Text('内容').width(375).height(667)// 其他设备会出问题
二、HARMONY-COMPAT 评估模型
2.1 公式
COMPAT = C×0.10 + O×0.20 + M×0.10 + P×0.25 + A×0.20 + T×0.15 C: 兼容层运行率 (崩溃率/启动率) O: API兼容网 (调用异常率) M: 运行稳定性 (30天崩溃频次) P: 性能测量 (帧率/延迟/内存) A: 适配层级 (0=兼容层, 3=中度, 5=原生+专属) T: 任务衰减 (k值·指数衰减模型)
2.2 适配层级定义
| Level | SDK调用率 | 专属内容 | COMPAT区间 |
|---|
| 0 | <10% | 无 | 3.0-5.0 |
| 3 | 30-50% | 无鸿蒙专属 | 6.0-7.5 |
| 5 | >90% | 鸿蒙专属板块 | 8.5-10.0 |
2.3 衰减模型
Y(t) = Y_stable + (Y_peak - Y_stable) × e^(-kt) k=0.08: 原生适配(30天仅衰减16%) k=0.50: 兼容层(衰减53%)
2.4 Python实现
importmathdefharmony_compat_score(C,O,M,P,A,T):"""HARMONY-COMPAT 六维度评估"""returnC*0.10+O*0.20+M*0.10+P*0.25+A*0.20+T*0.15defdecay_value(Y_stable,Y_peak,k,t):"""指数衰减模型"""returnY_stable+(Y_peak-Y_stable)*math.exp(-k*t)# 实测示例apps={"果冻试玩(原生)":harmony_compat_score(10,10,9,9.5,5,9.5),# 9.30"淘宝(兼容)":harmony_compat_score(9,8,9,7.5,3,9.5),# 6.85"抖音(兼容)":harmony_compat_score(7,6,7,5.0,2,4.0),# 4.60}
三、Android → ArkUI 迁移速查
3.1 生命周期映射
// Android Activity → HarmonyOS UIAbility// ─────────────────────────────────────────────// onCreate() → onCreate()// onStart() → onWindowStageCreate()// onResume() → onForeground()// onPause() → onBackground()// onDestroy() → onDestroy()// Android Fragment → HarmonyOS @Component// onCreateView() → build()// onResume() → aboutToAppear()// onPause() → aboutToDisappear()
3.2 布局速查
LinearLayout(vertical) → Column LinearLayout(horizontal) → Row FrameLayout → Stack RelativeLayout → RelativeContainer ConstraintLayout → RelativeContainer / Flex RecyclerView → List + LazyForEach ViewPager → Swiper TabLayout → Tabs + TabContent ScrollView → Scroll GridView → Grid + GridItem
3.3 尺寸单位
dp → vp (1:1 密度无关) sp → fp (字体缩放) match_parent → .width('100%') wrap_content → .height('auto') 或不设置
3.4 Compose → ArkUI V2 速查
| Jetpack Compose | ArkUI V2 |
|---|
| @Composable | @ComponentV2 |
| remember { } | @Local |
| mutableStateOf | @Local |
| Modifier.xxx() | .xxx() 链式调用 |
| LaunchedEffect | aboutToAppear + async |
| ViewModel + StateFlow | @ObservedV2 + @Trace |
| NavHost | Navigation + NavPathStack |
3.5 资源引用
R.string.xxx → $r('app.string.xxx') R.drawable.xxx → $r('app.media.xxx') R.color.xxx → $r('app.color.xxx') R.dimen.xxx → $r('app.float.xxx') R.raw.xxx → $rawfile('xxx')
3.6 数据存储
SharedPreferences → @ohos.data.preferences (异步) Room/SQLite → @ohos.data.relationalStore ContentProvider → DataShareExtension
四、鸿蒙API交付标准(7+2项检查)
现有7项(v1.0·已焊死·铁律A-013)
- ✅ 权限声明 (module.json5 requestPermissions)
- ✅ 动态服务器地址 (build-profile.json5)
- ✅ 统一错误处理 (try-catch + 用户提示)
- ✅ 设备能力检查 (canIUse API)
- ✅ 多设备资源分层 (resources/phone, tablet, tv)
- ✅ UI动态适配 (vp/fp + 断点)
- ✅ EntryAbility生命周期
新增2项(v1.1建议)
- 🆕 HARMONY-COMPAT适配层级验证
- 目标层级 ≥ Level 3
- COMPAT总分 ≥ 6.0/10
- 原生API调用率 ≥ 30%
- 🆕 ArkUI声明式范式检查
- 禁止WebView直套
- 状态管理使用装饰器
- 布局使用弹性布局
- 资源引用使用$r()
五、现有鸿蒙项目清单
| 项目 | 路径 | API | 适配层级 | 状态 |
|---|
| 通心译翻译 | integrations/harmonyos/tongxinyi/ | 5.0(12) | Level 5 | ✅ 7项全绿 |
| CNSH编辑器 | cnsh-editor/platforms/harmonyos/ | API 11 | Level 3 | ✅ 475行 |
| 女娲五彩石字体 | longhun-font/examples/harmonyos/ | API 11 | Level 3 | ✅ 示例 |
| 剪贴板原子化服务 | integrations/clipboard/ | 5.0 | Level 3 | ✅ v2.0 |
| 跨平台互通 | skills/longhun-cross-platform/ | - | Level 3 | ✅ SM4+ECDH |
六、调试 & 工具链
hdc 命令速查
hdc list targets# 列出设备hdc shell# 进入shellhdcfilesendlocalremote# 推送文件hdcfilerecv remotelocal# 拉取文件hdcinstallxxx.hap# 安装应用hdc uninstall com.xxx# 卸载hdc shell aa start-aEntryAbility-bcom.xxx# 启动
版本匹配铁律
hdc客户端版本 = hdc服务端版本 = 设备端hdc版本 三者不一致 → 连接失败
七、技能执行规则
- 交付前必过7+2项检查(铁律A-013)
- 代码必须使用 $r() 资源引用— 禁止硬编码字符串/颜色/尺寸
- 布局必须弹性— 禁止写死px,使用vp/fp + layoutWeight
- 安全级别S4— SM4国密加密,数据不出境
- DNA追溯— 每个鸿蒙文件必须有v∞格式DNA签章
- API版本标注— 文件头注明兼容的HarmonyOS API版本
- 联动感知— 鸿蒙项目变更必须同步更新此技能文件
签名
- Skill ID: SKILL-031
- DNA:
#龍芯⚡️丙午·丙申·癸丑·申时·需-LONGHUN-HARMONYOS-SKILL-v1.0 - 知识融合: ai6s.net社区 + Behavioral Cryptography论文 + 鸿蒙API标准模板
- 安全级别: S4
- 三色审计: 🟢 通过