鸿蒙APP应用开发教程—超详细的项目结构说明

1. 新建项目

打开DevEco Studio, 选择 Create Project:

1.1 选择模版

Create Project - Choose Template

1.2 配置项目

Create Project - Configure Project

如果使用的是 DevEco 3.X 版本, 可以根据 Compile SDK版本选择不同的模式, 比如:

  • 3.0.0(API 8)及更早 - 仅支持 FA模式, 支持 ArkTS语言和 JS语言

  • 3.1.0(API 9) - 支持Stage 和 FA 模式, 仅支持ArkTS语言

如果使用的DevEco 4.X 版本,则默认就是 Stage模式和ArkTS语言, 且不支持切换模式和语言, 但是支持选择nodejs 版本:

从工具默认选择看:

  • Satge 模式 是官网主推模式
  • ArkTS语言是官方主推语言, 后续不再支持创建选择JS语言
  • 不再默认支持低代码模式(Enable Super Visual)
  • 支持的Device从 Phone到 Tablet 以及 2in1.
  • 支持自定义主入口名称 entry, 可更像 Android那样设置为 app
  • 支持选择 nodejs 版本

2. 项目结构

2.1 Stage模型应用

根据官方的表述 Stage模型的应用包结构如下,

  • 一个应用入口 Entry.hap
  • 一到多个功能Feature.hap
@startuml
node "App Pack(xxx.app)"{
    
    node "Entry.hap" {
        [ets] as 0
        [resources] as 1
        [libs] as 2
        [resources.index] as 3
        [module.json] as 4
    }
    node  "FeatureA.hap" {
        [ets] as 5
        [resources] as 6
        [libs] as 7
        [resources.index] as 8
        [module.json] as 9
    }
    node "FeatureB.hap" {
        [ets] as 10
        [resources] as 11
        [libs] as 12
        [resources.index] as 13
        [module.json] as 14
    }  
    component pak.info
    Entry.hap -d[hidden]- FeatureA.hap
    FeatureA.hap -d[hidden]- FeatureB.hap
    FeatureB.hap -d[hidden]- pak.info  
}
@enduml

每个应用项目必须在项目的代码目录下加入配置文件,这些配置文件会向编译工具、操作系统和应用市场提供应用的基本信息。

在基于Stage模型开发的应用项目代码下,都存在一个app.json5及一个或多个module.json5这两种配置文件。

app.json5主要包含以下内容:

  • 应用的全局配置信息,包含应用的包名、开发厂商、版本号等基本信息。
  • 特定设备类型的配置信息。

module.json5主要包含以下内容:

  • Module的基本配置信息,例如Module名称、类型、描述、支持的设备类型等基本信息。
  • 应用组件信息,包含UIAbility组件和ExtensionAbility组件的描述信息。
  • 应用运行过程中所需的权限信息。

具体到上面的项目, app.json5如下:

{
  "app": {
    "bundleName": "net.devwiki.hmdemo", // 类似于包名
    "vendor": "example", // id
    "versionCode": 1000000, // 版本号
    "versionName": "1.0.0", // 版本名称
    "icon": "$media:app_icon", // 图标
    "label": "$string:app_name" // 名称
  }
}

其中:

  • icon 为 AppScope/resources/base/media 文件夹下的 app_icon.png
  • label 为 AppScope/resources/base/string.json 中的 app_name
{
  "string": [
    {
      "name": "app_name",
      "value": "HMDemo"
    }
  ]
}

此处以 HM3Demo为例,项目文件夹结构如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值