《HarmonyOSNext超强指南:3D解剖工程结构+三大包选型绝招!》
2025-06-11 21:32:43
109次阅读
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 开发初探
- HSP与HAR:HarmonyOSNext共享包开发终极指南
- 【HarmonyOSNext应用开发全攻略】从包结构解析到上架部署一站式指南
- 153.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解之3D轮播实现
- 《HarmonyOSNext Tabs组件深度指南:六大核心技巧打造丝滑导航体验》
- 149.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解之状态管理与数据结构
- 132.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解(三):接口类型系统
- HarmonyOSNext列表开发指南
- OpenHarmony5.0应用开发 (三、应用程序包结构理解及Ability的跳转,与Android的对比)
- 134.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解(五):实战应用
- 140.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解之DataChangeListener接口
- 147.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解之事件处理
- 133.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解(四):MySwiperItem类实现
- 139.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解之ESObject类型系统
- 144.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解之动画实现原理