龍魂鸿蒙技能 · 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)
@Component
struct ResponsiveGrid {
@State columns: number = 2
aboutToAppear() {
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实现
import math
def harmony_compat_score(C, O, M, P, A, T):
"""HARMONY-COMPAT 六维度评估"""
return C*0.10 + O*0.20 + M*0.10 + P*0.25 + A*0.20 + T*0.15
def decay_value(Y_stable, Y_peak, k, t):
"""指数衰减模型"""
return Y_stable + (Y_peak - Y_stable) * math.exp(-k * t)
apps = {
"果冻试玩(原生)": harmony_compat_score(10, 10, 9, 9.5, 5, 9.5),
"淘宝(兼容)": harmony_compat_score(9, 8, 9, 7.5, 3, 9.5),
"抖音(兼容)": harmony_compat_score(7, 6, 7, 5.0, 2, 4.0),
}
三、Android → ArkUI 迁移速查
3.1 生命周期映射
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
hdc file send local remote
hdc file recv remote local
hdc install xxx.hap
hdc uninstall com.xxx
hdc shell aa start -a EntryAbility -b com.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
- 三色审计: 🟢 通过
所有评论(0)