《HarmonyOSNext超强指南:3D解剖工程结构+三大包选型绝招!》

简介: 本文深入解析HarmonyOS Next工程结构,助你掌握3D工程拆解与三大包类型(HAP、HAR、HSP)选型技巧。内容涵盖开发态、编译态及发布态全流程,从目录结构到资源文件配置,再到包类型应用场景对比,手把手教你规避常见坑点,轻松搞定应用架构设计!适合教育科普行业学习,快来动手实践吧!

《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的重复问题 ✖️ 仅支持应用内共享🚧

🔥 血泪忠告:

  1. HAR如果依赖HSP → 只能在你的App内部用! 发到仓库会编译报错💥
  2. HAR/HSP不支持循环依赖! 写配置时擦亮眼👀

💎 一句话总结:

工程玩得6 = 理清开发态/编译态差异 + 选对包类型(HAP必选,HAR/HSP按需上)!搞起~💪

相关文章
|
7月前
|
监控 前端开发 JavaScript
HarmonyOSNext 崩溃急救指南:全局监听+同步退出 = 优雅保命!
本文介绍了HarmonyOS Next中Ark Ts的错误管理技巧,通过全局监听和同步退出机制实现应用崩溃保护。涵盖单线程、Promise及主线程卡死监控方案,并提供实战代码与避坑指南,帮助开发者优雅处理异常,保障用户体验。
279 65
|
7月前
|
存储 监控 安全
《HarmonyOSNext应用埋点黑科技:HiAppEvent全方位事件监控指南》
本文详解HarmonyOS Next的HiAppEvent事件监控系统,涵盖事件打点、类型分类、接口调用与实战案例,助力开发者实现崩溃分析、用户洞察与数据驱动优化。
|
7月前
|
监控 API 开发工具
HarmonyOS Next的HiLog日志系统完全指南:从入门到精通
本文深入解析HarmonyOS Next的HiLog日志系统,涵盖日志级别、核心API、隐私保护与高级回调功能,助你从入门到精通掌握这一重要开发工具。
|
7月前
|
API C++
甩开卡顿!HarmonyOS丢帧问题超详细拆解手册
这是一本针对HarmonyOS丢帧问题的超详细调优指南,从渲染流水线原理到实战优化全面解析。文章拆解了应用侧、Render Service和屏幕显示三大核心模块,结合60Hz/90Hz/120Hz帧率要求,深入分析卡顿原因。通过四步法(识别、录制、定位、优化),提供核弹级性能优化方案,涵盖列表卡顿、动画掉帧、布局臃肿等常见问题,并总结避坑圣经,助你轻松甩开卡顿,打造丝滑体验!
|
7月前
|
数据安全/隐私保护 开发者 UED
HarmonyOSNext华为账号一键登录:3秒完成登录的黑科技!
HarmonyOS Next华为账号一键登录,基于OAuth 2.0协议,实现3秒极速登录,支持UnionID与真实手机号获取,提升用户体验并简化开发者用户体系搭建。适用于教育科普行业学习参考。
|
7月前
|
开发者 UED
《HarmonyOSNext全流程订阅开发指南:从配置到挽留的终极方案》
本文详解HarmonyOS Next订阅开发全流程,涵盖订阅概念、商品配置、状态管理、促销策略及用户挽留方案,助力教育科普行业开发者快速掌握订阅系统开发要点。
|
7月前
|
缓存 iOS开发
《HarmonyOSNext教育应用性能飞跃:ArkTS长列表优化5大实战指南》
本文针对HarmonyOS长列表性能优化,提供ArkTS开发的5大实战指南。通过懒加载、缓存列表项、动态预加载、组件复用及布局优化,解决卡顿、高内存等问题。实测10000条数据下,启动快4.5秒,内存省480MB,丢帧率归零。适合教育科普行业学习,助你打造丝滑体验!
|
7月前
|
消息中间件 JavaScript 安全
HarmonyOSNext性能核弹:用Node-API引爆ArkTS/C++跨语言
本文介绍HarmonyOS Next中通过Node-API实现ArkTS与C++的跨语言交互,适合教育科普学习。内容涵盖三步核心流程:C++模块注册(开店准备)、接口映射(设计菜单)及ArkTS调用(点外卖)。重点包括SO库命名规则、线程安全规范及实战示例(如两数相加)。附带血泪经验总结,助你掌握丝滑跨语言调用技巧。
|
7月前
|
缓存 安全 Shell
《HarmonyOSNext未成年人守护盾:3分钟搞定全自动分龄保护开发指南》
《HarmonyOS Next未成年人守护盾:3分钟搞定全自动分龄保护开发指南》详解华为“未成年人模式”开发要点,涵盖适龄应用判断、系统接口调用、远程守护等功能,助力开发者快速实现合规的儿童上网保护功能。
|
7月前
|
缓存 监控 JavaScript
HarmonyOSNext应用无响应全解析:从机制到实战的卡死问题排查
本文深入解析HarmonyOS Next中应用无响应的卡死问题,涵盖THREAD_BLOCK_6S、APP_INPUT_BLOCK与LIFECYCLE_TIMEOUT三种常见类型,结合日志分析与实战案例,手把手教你快速定位并解决主线程阻塞、输入事件卡顿及生命周期超时问题,适用于Stage模型开发者学习使用。