《HarmonyOSNext超强指南:3D解剖工程结构+三大包选型绝招!》
2025-06-11 21:32:43
182次阅读
0个评论
《HarmonyOSNext超强指南:3D解剖工程结构+三大包选型绝招!》
##Harmony OS Next ##Ark Ts ##教育
本文适用于教育科普行业进行学习,有错误之处请指出我会修改。
🚀 先来动手玩玩吧!
Hey朋友~别光看理论,马上在DevEco Studio里新建一个工程!💻 记得多试几种不同的Module类型(比如entry、library啥的),边玩边对照实际工程的目录结构学本章节~ 这样能秒懂开发态的应用架构!
🗂️ 工程结构超全拆解(必看!)
简单说就是两大块:AppScope目录和Module目录~来划重点👇
- AppScope目录 ➡️ DevEco Studio自动生成,不能改它!
- Module目录 ➡️ 可以自动命名(比如entry)或你自定义(俺用 Module_name代表它)
| 文件类型 | 存放位置 & 作用说明 💡 | 
|---|---|
| 配置文件 | • AppScope > app.json5:应用级配置!包名、App名字、图标、版本号全在这儿📱 • Module_name > src > main >module.json5:Module基本信息、设备支持、权限申请啥的⚙️ | 
| ArkTS源码文件 | Module_name > src > main > ets:所有Module的 .ets源码都蹲这儿!👨💻 (代码示例👉ArkTs function helloWorld() { console.log("Hi!") }) | 
| 资源文件 | • AppScope > resources:整个App用的图/视频/字符资源🎨 • Module_name > src > main > resources:单Module专属资源! (支持布局文件、多媒体等~详情看「资源分类与访问」🔗) | 
| 其他配置文件 | 用来编译构建的: • build-profile.json5:签名和产品配置🔏 •hvigorfile.ts:自定义构建脚本⚡️ •obfuscation-rules.txt:Release模式自动混淆代码(防扒🛡️) •oh-package.json5:依赖库信息(三方库/共享包) 📦 | 
⚠️ 重点提示: AppScope资源如果和Module资源同名,编译后只保留AppScope的!别踩坑~
🔧 编译态大变身!
开发态 → 编译态,神奇的事情发生了✨:
- ets目录:.ets源码秒变- .abc文件🔮
- resources目录:AppScope资源直接合并进Module里
- 配置文件:app.json5字段全塞进module.json5~ (最终生成HAP/HSP的module.json文件✅)
💥 爆炸冷知识: 编译HAP/HSP时,依赖的HAR会直接被编译进去!不用单独处理~
📦 发布态包结构(上架必备!)
你的应用最终会变成这样👇
- 至少1个.hap文件(可能再加.hsp文件) → 合起来叫Bundle(唯一ID是bundleName📍)
- 上架应用市场时:Bundle打包成.app文件(叫 App Pack),同时自动生成pack.info📄(描述HAP/HSP属性)
🎯 关键区别表:
| 状态 | 文件 | 用途 | 
|---|---|---|
| 编译态 | HAP/HSP | 本地编译产物,可直接在设备安装运行🏃♂️ | 
| 发布态 | .app + .info | 不能直接安装!专为应用市场分发设计🛒 | 
🤔 三大包类型咋选?速藏对比表!
纠结用HAP、HAR还是HSP?直接看这个↓ 秒懂!(规格支持“√”=是,“×”=否)
| 规格 \ 包类型 | HAP | HAR | HSP | 
|---|---|---|---|
| 声明UIAbility/Extension | √ | × | × | 
| 声明pages页面 | √ | × | √ | 
| 含资源/.so文件 | √ | √ | √ | 
| 依赖其他HAR/HSP | √ | √ | √ | 
| 设备独立安装运行 | √ | × | × | 
📌 超实用场景总结:
| 包类型 | 使用场景 & 优缺点 ⚖️ | 
|---|---|
| HAP | App核心模块!必须有一个entry类型,可加feature类型✅ ✔️ 独立安装 ✖️ 多包引用会代码重复 | 
| HAR | 静态共享包(适合发布到OHPM仓库供他人用🔄) ✔️ 编译复用 ✖️ 多包引用时疯狂增大包体积⚠️ (建议开混淆!保护代码🔐) | 
| HSP | 动态共享包(运行时复用,包体积救星🌟) ✔️ 避免HAR的重复问题 ✖️ 仅支持应用内共享🚧 | 
🔥 血泪忠告:
- HAR如果依赖HSP → 只能在你的App内部用! 发到仓库会编译报错💥
- HAR/HSP不支持循环依赖! 写配置时擦亮眼👀
💎 一句话总结:
工程玩得6 = 理清开发态/编译态差异 + 选对包类型(HAP必选,HAR/HSP按需上)!搞起~💪
00
- 0回答
- 0粉丝
- 0关注
相关话题
- (二三)ArkTS 3D 开发初探
- 153.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解之3D轮播实现
- 【HarmonyOSNext应用开发全攻略】从包结构解析到上架部署一站式指南
- HSP与HAR:HarmonyOSNext共享包开发终极指南
- 《HarmonyOSNext性能暴击指南:3大避坑术+4维钻石法则,告别卡顿从入门到封神!》
- ArkUI-X应用工程结构说明
- 149.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解之状态管理与数据结构
- 《HarmonyOSNext教育应用性能飞跃:ArkTS长列表优化5大实战指南》
- 132.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解(三):接口类型系统
- 《HarmonyOSNext Tabs组件深度指南:六大核心技巧打造丝滑导航体验》
- DevEco Studio 工程管理全指南
- 《HarmonyOSNext极速开发指南:5大Account Kit能力一键集成,用户信息秒级获取!》
- OpenHarmony5.0应用开发 (三、应用程序包结构理解及Ability的跳转,与Android的对比)
- 134.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解(五):实战应用
- 140.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解之DataChangeListener接口

