HarmonyOS Developer DevEco Studio使用指南-工程管理

丶龙八夷
发布于 2023-3-31 16:43
浏览
0收藏

工程模板和开发语言介绍

DevEco Studio支持包括手机、平板、车机、智慧屏、智能穿戴、轻量级智能穿戴和智慧视觉设备的HarmonyOS应用/服务开发,预置了工程模板,可以根据工程向导轻松创建适应于各类设备的工程,并自动生成对应的代码和资源模板。同时,DevEco Studio还提供了多种编程语言供开发者进行HarmonyOS应用/服务开发,包括ArkTS、JS、Java和C/C++。

HarmonyOS Developer DevEco Studio使用指南-工程管理-鸿蒙开发者社区

工程模板支持的开发语言、API版本、设备类型,如下表所示:

模板名称

支持的开发语言

支持的API版本

支持的设备

说明

Empty Ability

JS

4、5、6

Phone、Tablet、TV、Wearable

用于设备的Feature Ability模板,展示了基础的Hello World功能。

7、8、9

Phone

ArkTS

7、8、9

Phone

Java

4、5、6

Phone、Tablet、TV、Wearable、Car

7

Phone

Native C++

Java

4、5、6

Phone、Car

用于Phone、Car设备的Feature Ability模板,作为HarmonyOS应用/服务调用C++代码的示例工程,界面显示“Hello World”。

7

Phone

JS

8、9

Phone

ArkTS

8、9

Phone

[Lite]Empty Ability

JS

4、5、6

Lite Wearable、Smart Vision、Router

用于Lite Wearable、Smart Vision、Router设备的Feature Ability模板,包含一个简单的Hello World文本。该模板包含两个组件:div和text,同时演示了数据绑定的使用方式。使用该模板时,不能同时选择多个设备,即不能创建跨设备工程。

7

Lite Wearable

About Ability

ArkTS

8、9

Phone

用于Phone设备的模板,可以快速创建应用的关于页面。模板的上方通过基础组件Image、Text展示了应用的基本信息,点击中间的List组件可以打开详情页,下方使用Web组件加载了用户协议和隐私声明的Html文件。开发者可以在模板的基础上,补充List内容,替换相关显示信息。

Business Card Ability

ArkTS

8、9

Phone

用于Phone设备的模板,可以快速创建应用的名片页面。模板底部通过Tab组件实现不同名片的切换,中间的详情List组件使用了不同的Widget,如Information图标、Switch开关、右侧箭头图标等。开发者可以根据需要替换用户名称和List组件内容。

Category Ability

ArkTS

8、9

Phone

用于Phone设备的模板,可以快速创建应用的分类展示页面。模板上方是Navigation组件和search组件,下方是Tab组件。中间的List组件有联动,点击左边List的分类项,右边List会滑动到对应位置,反之亦然。开发者可以根据需要替换相关内容。

Category List Ability

ArkTS

8、9

Phone

用于Phone设备的模板,可以快速创建应用的卡片型设置页面。模板上方是Navigation组件和search组件,中间的List组件参考Settings的界面风格,由子标题加List卡片组成。开发者可以根据需要替换标题和每一个设置项的内容。

Grid Ability

ArkTS

8、9

Phone

用于Phone设备的模板,可以快速创建应用的网格布局页面。模板上方是Navigation组件,中间分割成两个大小不同的Grid组件,每个Grid组件的Item等比例显示。开发者可以通过模板学习Grid组件的使用方式。

List Ability

ArkTS

8、9

Phone

用于Phone设备的模板,可以快速创建应用的列表页面。模板上方是Navigation组件和search组件,下方是Tab组件。中间的List组件使用了双行布局,点击打开详情页。开发者可以根据需要替换双行列表和辅助文本内容。

Login Ability

ArkTS

8、9

Phone

用于Phone设备的模板,可以快速创建应用的登录页面。用户输入账号和密码之后,才能点击登录按钮。点击登录、注册和遇到问题分别会跳转到示例页面。模板底部使用Web组件加载了隐私声明的Html文件。开发者可以补充账号密码的存储逻辑,完善登录功能。

Splash Screen Ability

ArkTS

8、9

Phone

用于Phone设备的模板,可以快速创建应用的启动过程页面。模板右上角显示倒计时图标,点击跳过按钮或者等倒计时结束都会进入应用主界面,下方提供了应用的版权信息。开发者可以设置倒计时时间,根据需要整体替换广告背景。

Empty Ability with CloudDev

ArkTS

9

Phone

端云一体化开发通用模板。更多信息请参见​​端云一体化开发​​。

创建一个新的工程

当您开始开发一个HarmonyOS应用/服务时,首先需要根据工程创建向导,创建一个新的工程,工具会自动生成对应的代码和资源模板。

说明

在运行DevEco Studio工程时,建议每一个运行窗口有2GB以上的可用内存空间。

创建和配置新工程

DevEco Studio提供了基础的工程模板资源,不同模板支持的设备类型、API Version可能不同,在创建新工程前,请提前了解各模板的相关信息,具体请参考​​工程模板和开发语言介绍​​。

  1. 通过如下两种方式,打开工程创建向导界面。
  • 如果当前未打开任何工程,可以在DevEco Studio的欢迎页,选择Create Project开始创建一个新工程。
  • 如果已经打开了工程,可以在菜单栏选择File > New > Create Project来创建一个新工程。
  1. 根据工程创建向导,在HarmonyOS页签,选择需要的Ability工程模板,然后单击Next

HarmonyOS Developer DevEco Studio使用指南-工程管理-鸿蒙开发者社区

  1. 在工程配置页面,需要根据向导配置工程的基本信息。


  • Project name:工程的名称,可以自定义,由大小写字母、数据和下划线组成。
  • Project type:工程的类型,标识该工程是一个传统方式的需要安装的应用(Application,简称应用),或​原子化服务​(Atomic service,简称服务)。当前3.1.0(API 9)不支持原子化服务开发。

说明

如果是创建的原子化服务,则:

  • 原子化服务调试、运行时,在设备桌面上没有应用图标,请使用DevEco Studio的调试和运行功能,来启动原子化服务。
  • 原子化服务是免安装的,config.json中自动添加installationFree字段,取值为“true”。
  • 如果entry模块的installationFree字段为“true”,则其相关的所有hap模块的installationFree字段都默认为“true”;如果entry模块的installationFree字段为“false”,则其相关的所有hap模块可以配置为“true”或“false”。
  • 编译构建APP时,每个HAP大小不能超过10MB。
  • Bundle name:标识应用的包名,用于标识应用的唯一性。如果“Project type”选择了Atomic service,则Bundle name的后缀名必须是.hmservice
  • Save location:工程文件本地存储路径,由大小写字母、数字和下划线等组成,不能包含中文字符。
  • Compile SDK:应用/服务的目标API Version,在编译构建时,DevEco Studio会根据指定的Compile API版本进行编译打包。
  • Model:应用支持的模式,API Version 4~8只支持FA模式。
  • Enable Super Visual:支持低代码开发模式,部分模板支持低代码开发,可选择打开该开关。
  • Language:开发语言。
  • Compatible SDK:兼容的最低API Version。
  • Device type:该工程模板支持的设备类型。
  • Show in service center:是否在服务中心展示。如果Project type为Atomic service,则会同步创建一个2*2宫格的服务卡片模板,同时还会创建入口卡片;如果Project type为Application,则只会创建一个2*2宫格的服务卡片模板。具体请参考​​创建服务卡片​​。当前3.1.0(API 9)不支持服务卡片开发。

HarmonyOS Developer DevEco Studio使用指南-工程管理-鸿蒙开发者社区

  1. 单击Finish,工具会自动生成示例代码和相关资源,等待工程创建完成。

导入Sample工程

DevEco Studio支持Sample工程的导入功能,通过对接Gitee开源社区中的Sample资源,可一键导入Sample工程到DevEco Studio中。

下面介绍导入HarmonyOS Sample的方法。

  1. 在DevEco Studio的欢迎页,进入Configure > Settings > Version Control > Git界面,单击Test按钮检测是否安装Git工具。

说明

在打开工程的情况下,可以单击File > Settings进入设置界面。

  • 已安装,请根据​2​开始导入Sample。

HarmonyOS Developer DevEco Studio使用指南-工程管理-鸿蒙开发者社区

  • 未安装,请单击Download and Install,DevEco Studio会自动下载并安装。安装完成后,请根据​2​开始导入Sample。

HarmonyOS Developer DevEco Studio使用指南-工程管理-鸿蒙开发者社区

  1. 在DevEco Studio的欢迎页,单击Import Sample按钮,导入Sample工程。

说明

在打开工程的情况下,可以单击File > New >Import >Import Sample来进行导入。

HarmonyOS Developer DevEco Studio使用指南-工程管理-鸿蒙开发者社区

  1. HarmonyOS Samples下选择需要导入的Sample工程,然后单击Next

HarmonyOS Developer DevEco Studio使用指南-工程管理-鸿蒙开发者社区

  1. 设置Project nameProject location,然后单击Finish,等待Sample工程导入完成。

HarmonyOS Developer DevEco Studio使用指南-工程管理-鸿蒙开发者社区

  1. 导入Sample后,等待工程同步完成即可。

说明

如果网络受限,导入时会提示“Failed to connect to gitee.com port 443: Time out”连接超时错误,请​​配置Git代理信息​​。

添加/删除Module

Module是HarmonyOS应用/服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/服务配置文件,每一个Module都可以独立进行编译和运行。一个HarmonyOS应用/服务通常会包含一个或多个Module,因此,可以在工程中创建多个Module,每个Module分为Ability和Library两种类型。

如​​HarmonyOS工程介绍​​​,在一个APP中,对于同一类型设备可以包含一个或多个Entry Module。如果同一类型设备存在多个Entry Module,开发者还需要配置不同的Entry模块的分发规则,具体请参考​​配置distroFilter分发规则​​。

在工程中添加Module

创建新的Module
  1. 通过如下两种方法,在工程中添加新的Module。
  • 方法1:鼠标移到工程目录顶部,单击鼠标右键,选择New > Module...,开始创建新的Module。
  • 方法2:选中工程目录中任意文件,然后在菜单栏选择File > New > Module...,开始创建新的Module。
  1. New Project Module界面中,选择需要创建的模板,单击Next

HarmonyOS Developer DevEco Studio使用指南-工程管理-鸿蒙开发者社区

  1. 在Module配置页面,设置新增Module的基本信息,然后单击Next
  • Module name:新增模块的名称。
  • Module type:仅在Ability模板存在,可以选择Feature和Entry类型。如果同一类型的设备已经存在Entry模块,添加新Module选择Entry类型时,还需要​​配置distroFilter分发规则​​。
  • Enable Super Visual:是否使用低代码开发方式。
  • Language:选择该Module的开发语言。
  • Device type:选择模块的设备类型,如果新建模块的Module type为feature,则只能选择该工程原有的设备类型;如果Module type为entry,可以选择该Module支持的其他设备类型。
  • Show in service center:是否在服务中心展示,仅在Ability模板存在。如果工程类型为Atomic service,则会同步创建一个2*2宫格的服务卡片模板,同时还会创建入口卡片;如果工程类型为Application,则只会创建一个2*2宫格的服务卡片模板。具体请参考​创建服务卡片​

说明

当前3.1.0(API 9)不支持服务卡片开发。

  • Enable native:仅Ohos Library模板存在。使用native将创建一个npm共享模块,用于调用C++代码。

HarmonyOS Developer DevEco Studio使用指南-工程管理-鸿蒙开发者社区

  1. 若该Module的模板类型为Ability,还需要设置新增Ability的Ability nameVisible参数,Visible参数表示该Ability是否可以被其它应用/服务所调用。


  • 勾选(true):可以被其它应用/服务调用。
  • 不勾选(false):不能被其它应用/服务调用。
  1. 单击Finish,等待创建完成后,可以在工程目录中查看和编辑新增的Module。
导入Module

HarmonyOS工程支持从其它工程中导入HarmonyOS模块的功能,导入的模块只能是HarmonyOS工程中的模块。当前仅支持FA模型的模块导入到FA模型,Stage模型的模块导入到Stage模型,不支持FA模型的模块导入到Stage模型或Stage模型的模块导入到FA模型。

  1. 在主菜单栏单击File > New >Import... >Import Module。

HarmonyOS Developer DevEco Studio使用指南-工程管理-鸿蒙开发者社区

  1. 选择导入的模块时。其中SDK 4-7的工程既可以选择模块也可以选择工程,而SDK 8-9的工程只可以选择模块。下面以SDK 8-9的工程为例介绍导入模块的具体操作。

在指定路径下,选择导入的模块,单击OK。导入的模块可以为文件夹,也可以为zip格式。

HarmonyOS Developer DevEco Studio使用指南-工程管理-鸿蒙开发者社区

配置distroFilter分发规则

同一类型的设备(Phone、Wearable、Lite Wearable等)可能在系统API版本(apiVersion)、屏幕形状(screenShape)、分辨率(screenWindow)上存在差异。针对这些差异,开发者需要针对同一类型设备的不同型号进行适配开发,然后在应用市场实现精准的分发,以便不同设备的用户能获得更好的使用体验。为了实现应用市场的精准分发,需要在一个工程中,针对同一类型设备添加多个Entry模块来适配不同型号的设备,然后再配置不同的分发规则。

因此,在同一个工程中,如果同一个设备存在多个Entry模块,需要在每一个Entry模块的​​config.json文件​​中,配置distroFilter分发规则。distroFilter具体规则如下:

  • 通过DeviceType与apiVersion、screenShape、screenWindow的组合唯一确定一个Entry。
  • distroFilter中至少包含apiVersion、screenShape、screenWindow中的一个标签。
  • 一般情况下,apiVersion标签用于Phone、Tablet、TV、Wearable、Car和Lite Wearable的设备中;screenShapescreenWindow标签用于Lite Wearable设备中。
  • 如果一个Entry模块中配置了apiVersion、screenShape、screenWindow中的任意一个或多个标签,则其他的Entry模块也必须包含相同的标签。
  • apiVersion、screenShape、screenWindow标签的配置格式如下。其中,policy取值为include时,表示设备满足value取值时,应用市场向该设备进行分发;policy取值为exclude时,表示除了value的取值外,其它合法的取值,应用市场都会向设备进行分发。

说明

screenWindow标签的policy取值只能为include。

"module": {
  ...
  "distroFilter": {
    "标签名字": {
      "policy": "include|exclude"
      "value": [ a, b, c] 
    }
  }
}

删除Module

在工程目录中选中要删除的模块,单击鼠标右键,选中Delete,并在弹出的对话框中单击Delete


文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/add_new_module-0000001053223741-V3​

分类
标签
已于2023-3-31 20:36:25修改
收藏
回复
举报
回复
    相关推荐