参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-run-device-V5
一、工具简介
1、概述
HUAWEI DevEco Studio(获取工具请单击链接下载,以下简称DevEco Studio)是基于IntelliJ IDEA Community开源版本打造,为运行在HarmonyOS系统上的应用和元服务(以下简称应用/元服务)提供一站式的开发平台。
2、应用/元服务开发流程
1)开发准备
获取HUAWEI DevEco Studio请单击链接下载,完成开发工具的安装。
2)开发应用/元服务
DevEco Studio集成了Phone、Tablet、2in1、Car等设备的典型场景模板,可以通过工程向导轻松的创建一个新的工程。
接下来还需要定义应用/元服务的UI、开发业务功能等编码工作,可以根据HarmonyOS应用开发概述来查看具体的开发过程,通过查看API接口文档查阅需要调用的API接口。
在开发代码的过程中,可以使用预览器查看应用/元服务效果,支持实时预览、动态预览、双向预览等功能,使编码的过程更高效。
二、快速开始
1、DevEco Studio安装
2、创建和运行HelloWorld
DevEco Studio - Create Project - 选择创建Application/Atomic Service - Empty Ability模版 - Next
使用真机运行应用/元服务运行
可以采用USB连接方式或者无线调试的连接方式。两种连接方式是互斥的,只能使用一种,无法同时使用两种方式。
-
前提条件
-
使用USB连接方式
1)使用USB方式,将Phone或T与PC端进行连接
2)在设置 > 系统 > 开发者选项中,打开“USB调试”开关(确保设备已连接USB)。
3)在Phone或Tablet中会弹出“允许USB调试”的弹框,单击允许。
4)在菜单栏中,单击Run>Run’模块名称’或,或使用默认快捷键Shift+F10(macOS为Control+R)运行应用/元服务。
5)DevEco Studio启动HAP的编译构建和安装。安装成功后,设备会自动运行安装的HarmonyOS应用/元服务。 -
使用无线调试连接方式
1)将Phone/Tablet和PC连接到同一WLAN网络。
2)在设置 > 系统 > 开发者选项中,打开“无线调试”开关,并获取Phone/Tablet端的IP地址和端口号
3)在PC中执行如下命令连接设备,关于hdc工具的使用指导请参考hdc。hdc tconn 设备IP地址:端口号
使用模拟器运行应用/元服务
概述
使用环境
模拟器与真机的差异
与真机相比,模拟器暂时只支持部分Kit,以下是模拟器对各种Kit的支持情况。
说明
使用x86模拟器时,C++工程及三方库需要编译出x86_64版本的so,请在build-profile.json5中externalNativeOptions/abiFilters的值中增加"x86_64",具体编译配置请参见externalNativeOptions。
管理模拟器
创建模拟器
- 点击菜单栏的Tools > Device Manager,点击右下角的Edit设置模拟器实例的存储路径Local Emulator Location,Mac默认存储在~/.Huawei/Emulator/deployed下,Windows默认存储在C:\Users\xxx\AppData\Local\Huawei\Emulator\deployed下。
- 在Local Emulator页签中,单击右下角的New Emulator按钮,创建一个模拟器。
在模拟器配置界面,可以选择一个默认的设备模板,首次使用时会提示“Download the system image first”,请点击设备右侧的下载模拟器镜像,您也可以在该界面更新或删除不同设备的模拟器镜像。单击Edit可以设置镜像文件的存储路径。Mac默认存储在~/Library/Huawei/Sdk下,Windows默认存储在C:\Users\xxx\AppData\Local\Huawei\Sdk下。
- 单击Next,核实确定需要创建的模拟器的名称,内存和存储空间,然后单击Finish创建模拟器。
- 在设备管理器页面,单击启动模拟器。
启动和关闭模拟器
使用模拟器
模拟器常见问题
3、配置代理
环境诊断:Help > Diagnostic Tools > Diagnose Development Environment
配置Proxy代理
- HTTP Proxy设置界面
欢迎界面:
Customize > All settings… > Appearance & Behavior > System Settings > HTTP Proxy进入HTTP Proxy设置界面
工程界面:
File > Settings > Appearance & Behavior > System Settings > HTTP Proxy进入HTTP Proxy设置界面
- 配置完成后,单击Check connection,输入网络地址(如:https://developer.huawei.com),检查网络连通性。提示“Connection successful”表示代理设置成功。
配置NPM代理
Hvigor、ohpm在初始化时需要从npm仓库下载依赖,如果需要代理才能访问网络,请配置npm的代理
-
进入C:\Users\用户名目录,打开.npmrc文件。如果该目录下没有.npmrc文件,请新建一个。
-
修改npm仓库信息,示例如下所示:
registry=https://repo.huaweicloud.com/repository/npm/ @ohos:registry=https://repo.harmonyos.com/npm/
-
修改代理信息,在proxy和https-proxy中,将user、password、proxyserver和port按照实际代理服务器进行修改。示例如下所示:
proxy=http://user:password@proxy.proxyserver.com:port https-proxy=http://user:password@proxy.proxyserver.com:port
-
将Node.js配置到环境变量中
-
代理配置完成后,打开命令行工具,执行如下命令验证网络是否正常。
npm info express
执行结果如下图所示,则说明代理设置成功。
配置OHPM代理
若您需要配置OHPM代理信息,可通过如下步骤进入代理配置界面:
- 在欢迎页单击Customize > All settings… > Build, Execution, Deployment > Ohpm > Optimize config,进入OHPM代理设置界面。
- 在打开了工程的情况下,可以单击File > Settings > Build, Execution, Deployment > Ohpm > Optimize config,进入OHPM代理设置界面(macOS为DevEco Studio > Preferences > Build, Execution, Deployment > Ohpm > Optimize config)。
具体配置如下:
-
ohpm registry:配置ohpm仓的地址信息。
https://ohpm.openharmony.cn/ohpm/
-
HTTP proxy
代理服务器信息,默认会与DevEco Studio的HTTP proxy设置项保持一致。如果需要配置账号密码,请使用如下格式进行配置:http://user:password@proxy.proxyserver.com
-
Enable Https Proxy
同步配置HTTPS Proxy信息。
填写并勾选以上信息后,点击OK。
无网络环境配置指导
三、工程管理
1、工程介绍
-
APP包结构
在进行应用/元服务开发前,开发者应该掌握应用/元服务的逻辑结构。应用/元服务发布形态为APP Pack(Application Package),它是由一个或多个HAP(Harmony Ability Package)包以及描述APP Pack属性的pack.info文件组成。
一个HAP在工程目录中对应一个Module,它是由代码、资源、三方库及应用/元服务配置文件组成,HAP可以分为Entry和Feature两种类型。
-
Entry:应用的主模块,作为应用的入口,提供了应用的基础功能。
-
Feature:应用的动态特性模块,作为应用能力的扩展,可以根据用户的需求和设备类型进行选择性安装。
基于Stage模型和FA模型开发的应用,应用程序包结构并不相同。
-
-
切换工程视图
DevEco Studio工程目录结构提供工程视图和Ohos视图。工程视图(Project)展示工程中实际的文件结构,Ohos视图会隐藏一些编码中不常用到的文件,并将常用到的文件进行重组展示,方便开发者查询或定位所需编辑的模块或文件。
2、工程目录结构
- AppScope > app.json5
应用的全局配置信息
{
"app": {
"bundleName": "com.kaiya.myapplication",
"vendor": "example",
"versionCode": 1000000,
"versionName": "1.0.0",
"icon": "$media:app_icon",
"label": "$string:app_name"
}
}
-
entry
应用/元服务模块,编译构建生成一个HAP-
src > main > ets
用于存放ArkTS源码
-
src > main > ets > entryability
应用/元服务的入口
-
src > main > ets > pages
应用/元服务包含的页面(布局文件)
-
src > main > resources
用于存放应用/元服务模块所用到的资源文件,如图形、多媒体、字符串、布局文件等
-
src > main > module.json5
Stage模块配置文件,主要包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息 -
build-profile.json5
当前的模块信息、编译信息配置项,包括buildOption、targets配置等 -
hvigorfile.ts
模块级编译构建任务脚本 -
oh-package.json5
描述三方包的包名、版本、入口文件(类型声明文件)和依赖项等信息
-
-
oh_modules
用于存放三方库依赖信息,包含应用/元服务所依赖的第三方库文件。 -
build-profile.json5
应用级配置信息,包括签名、产品配置等 -
hvigorfile.ts
应用级编译构建任务脚本 -
oh-package.json5
描述全局配置,如:依赖覆盖(overrides)、依赖关系重写(overrideDependencyMap)和参数化配置(parameterFile)等
3、创建一个新的工程
- 如果当前未打开任何工程,可以在DevEco Studio的欢迎页,选择Create Project开始创建一个新工程
- 如果已经打开了工程,可以在菜单栏选择File > New > Create Project来创建一个新工程
四、模块管理
1、添加/删除Module
1)添加Module
- 方法1
鼠标移到工程目录顶部,单击鼠标右键,选择New > Module…,开始创建新的Module,此时该module将创建在工程根目录下 - 方法2
选中工程目录中任意文件,然后在菜单栏选择File > New > Module…,开始创建新的Module,此时该module将创建在工程根目录下 - 方法3
在工程根目录下创建一个新的Directory,可在该目录下单击鼠标右键,选择New > Module…,创建新的Module,此时module将创建在该文件目录下,方便开发者对模块进行分类管理
2)在New Project Module界面中,选择需要创建的模板,单击Next:
3)在Module配置页面,设置新增Module的基本信息,然后单击Next。
4)若该Module的模板类型为Ability,还需要设置新增Ability的Ability name和Exported参数,Exported参数表示该Ability是否可以被其它应用/元服务所调用
2、在模块中添加Ability
1)在模块中添加UIAbility
选中对应的模块,单击鼠标右键,选择New > Ability
- 设置Ability名称,选择是否在设备主屏幕上显示该功能的启动图标,单击Finish完成Ability创建
2)在模块中添加Extension Ability
-
在工程中选中对应的模块,单击鼠标右键,选择New > Extension Ability,选择不同的场景类型 。当前仅Application工程支持创建Extension Ability。
-
设置Ability名称,单击Finish完成Extension Ability创建
3、创建服务卡片
服务卡片可将元服务/应用的重要信息以卡片的形式展示在桌面,用户可通过快捷手势使用卡片,通过轻量交互行为实现服务直达、减少层级跳转的目的。
4、添加Page
在ArkTS语言的工程中,支持添加Page。Page是表示应用/元服务的一个页面。应用/元服务可以设计为多个功能页面,每个页面进行单独的文件管理,并通过路由API实现页面的调度管理,以实现应用内功能的解耦。ArkTS语言的工程添加Page后,会在pages文件夹下生成一个新的ets文件。
1)添加Page
在Stage工程中选中ets文件夹下的pages,单击鼠标右键,选择New > Page,当前提供如下Page类型:
- Empty Page:创建一个普通页面,展示基础的Hello World功能
- Map Page:创建一个地图页面,展示地图视图功能,当前仅支持在Phone设备中使用
- Payment Page:创建一个支付页面,可以实现点击按钮调起支付弹窗,当前仅支持在Phone设备中使用
- Iap Page:IAP Kit场景化模板,支持快速创建应用内支付购买虚拟数字商品相关代码
2)输入Page name(由大小写字母、数字和下划线组成),单击Finish完成添加
5、导入Sample工程
DevEco Studio支持Sample工程的导入功能,通过对接Gitee开源社区中的Sample资源,可一键导入Sample工程到DevEco Studio中。
1)
在DevEco Studio的欢迎页,进入Customize > All Settings… > Version Control > Git界面,单击Test按钮检测是否安装Git工具。
2)
在DevEco Studio的欢迎页,在Projects页签下,单击More Action > Import Sample按钮,导入Sample工程。