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为例,项目文件夹结构如下: