鸿蒙学习日记day01

打印 上一主题 下一主题

主题 868|帖子 868|积分 2604

目录先容



.hvigor和.idea

ide配置文件
AppScope

该目录中存放应用全局所需要的资源文件。
entry

应用的主模块,存放HarmonyOS应用的代码、资源文件(也就是静态文件)等
oh_modules

工程的依赖包,存放工程依赖的源文件。可以明白成node_modules
build-profile.json5

工程级配置信息,包括署名、产品配置等。可以简朴明白为后续打包发布需要的一些配置
hvigorfile.ts

工程级编译构建任务脚本,hvigor是基于任务管理机制实现的一款全新的自动化构建工具,主要提供任务注册编排,工程模型管理、配置管理等核心本领
oh-package.json5

工程级依赖配置文件,用于纪录引入包的配置信息。
entry 模块目录阐明



entry>src目录中主要包罗总的main文件夹,单元测试目录ohosTest,以及模块级的配置文件
.preview和build

预览和真机模拟时天生的目录,如果没有进行预览大概真机模拟则没有,一般不需要管理
src

项目源码目录
src>main

项目入口目录
src>main>ets

ets代码大概项目代码
src>main>ets>entryability

存放ability文件,用于当前ability应用逻辑和生命周期管理
src>main>ets>pages

存放UI界面相关代码文件,初始会天生一个Index页面
src>main>resources

静态资源
entry>src>main>module.json5

模块的配置文件,包罗当前模块的配置信息
  1. {
  2.   "module": {
  3.    // 该标签标识当前module的名字,module打包成hap后,表示hap的名称,标签值采用字符串表示(最大长度31个字节),该名称在整个应用要唯一
  4.    "name": "entry",
  5.    // 表示模块的类型,类型有三种,分别是entry、feature和har。
  6.    "type": "entry",
  7.    // 描述
  8.    "description": "$string:module_desc",
  9.    // 该标签标识hap的入口ability名称或者extension名称。只有配置为mainElement的ability或者extension才允许在服务中心露出
  10.    "mainElement": "EntryAbility",
  11.    // 该标签标识hap可以运行在哪类设备上,标签值采用字符串数组的表示。
  12.    "deviceTypes": [
  13.      "phone",
  14.      "tablet"
  15.    ],
  16.    // 标识当前Module是否在用户主动安装的时候安装,表示该Module对应的HAP是否跟随应用一起安装。- true:主动安装时安装。- false:主动安装时不安装
  17.    "deliveryWithInstall": true,
  18.    // 标识当前Module是否支持免安装特性。- true:表示支持免安装特性,且符合免安装约束。- false:表示不支持免安装特性
  19.    "installationFree": false,
  20.    // 对应的是main_pages.json文件,用于配置ability中用到的page信息。 可以理解为路由表,按住command点击可以进入
  21.    "pages": "$profile:main_pages",
  22.    // 存放当前模块中所有的ability元能力的配置信息,其中可以有多个ability
  23.    "abilities": [
  24.      {
  25.        // 该标签标识当前ability的逻辑名,该名称在整个应用要唯一,标签值采用字符串表示(最大长度127个字节)
  26.        "srcEntry": "./ets/entryability/EntryAbility.ts",
  27.        // 描述,
  28.        // ability的入口代码路径。,
  29.        "name": "EntryAbility",
  30.        "description": "$string:EntryAbility_desc",
  31.        // ability的图标。该标签标识ability图标,标签值为资源文件的索引。该标签可缺省,缺省值为空。如果ability被配置为MainElement,该标签必须配置
  32.        "icon": "$media:icon",
  33.        // ability的标签名。
  34.        "label": "$string:EntryAbility_label",
  35.        // 启动页面的图标。
  36.        "startWindowIcon": "$media:icon",
  37.        // 启动页面的背景色。
  38.        "startWindowBackground": "$color:start_window_background",
  39.        "exported": true,
  40.        // 标识能够接收的意图的action值的集合,取值通常为系统预定义的action值,也允许自定义。
  41.        "skills": [
  42.          {
  43.            "entities": [
  44.              "entity.system.home"
  45.            ],
  46.            "actions": [
  47.              "action.system.home"
  48.            ]
  49.          }
  50.        ]
  51.      }
  52.    ]
  53.   }
  54. }
复制代码
build-profile.json5

模块级配置信息,包括编译构建配置项
hvigorfile.ts

该文件是模块级构建脚本
oh-package.json5

模块级依赖配置信息文件
ohosTest

单元测试目录,用来对代码进行单元测试。新手可以直接删除,低落明白难度

HAP、HAR、HSP

HAP包可以独立安装和运行,是应用安装的基本单元,一个应用中可以包罗一个或多个HAP包
HAR、HSP 是 Library 范例的 Module,主要用于用于实现代码和资源的共享
HAR与HSP两种共享包的主要区别体如今:
共享包范例编译和运行方式发布和引用方式HARHAR中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份雷同拷贝。注意:编译HAR时,发起开启混淆本领,保护代码资产。HAR除了支持应用内引用,还可以独立打包发布,供其他应用引用。HSPHSP中的代码和资源可以独立编译,运行时在一个进程中代码也只会存在一份。HSP一般随应用进行打包,当前支持应用内和集成态HSP。应用内HSP只支持应用内引用,集成态HSP支持发布到ohpm私仓和跨应用引用。 HAR(静态共享包)不支持在装备上单独安装/运行,只能作为应用模块的依赖项被引用。
HSP(动态共享包)不支持独立发布,而是跟随其宿主应用的APP包一起发布,与宿主应用同进程,具有雷同的包名和生命周期。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农妇山泉一亩田

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表