[开发|鸿蒙] 鸿蒙OS开发环境搭建(笔记,持续更新)

搭建开发环境流程:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/installation_process-0000001071425528-V2

鸿蒙DevEco Studio 3.1.1 Release仅支持windows和mac系统

运行环境要求

为保证DevEco Studio正常运行,建议电脑配置满足如下要求:

  • 操作系统:Windows10 64位、Windows11 64位
  • 内存:8GB及以上
  • 硬盘:100GB及以上
  • 分辨率:1280*800像素及以上

配置HDC工具环境变量

HDC是为开发者提供HarmonyOS应用/服务的调试工具,为方便使用HDC工具,请为HDC端口号设置环境变量。

  • Windows环境变量设置方法:

    此电脑 > 属性 > 高级系统设置 > 高级 > 环境变量中,添加HDC端口变量名为:HDC_SERVER_PORT,变量值可设置为任意未被占用的端口,如7035。

    img

准备一台windows电脑,不要用虚拟机

下载DevEco Studio 3.1.1 Release,双击运行安装程序
在这里插入图片描述

选择在创建桌面快捷方式,和将bin目录添加到PATH环境变量
在这里插入图片描述
其余的默认

安装完毕后重启电脑

配置开发环境:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/environment_config-0000001052902427-V2

  1. 运行已安装的DevEco Studio,首次使用,请选择Do not import settings,单击OK
    在这里插入图片描述

  2. 安装Node.js与ohpm。
    在这里插入图片描述

如果已安装node.js与ohpm的,可以指定本地已安装的Node.js或ohpm(Node.js版本要求为v14.19.1及以上,且低于v17.0.0;对应的npm版本要求为6.14.16及以上)路径位置

3.在SDK Setup界面,单击在这里插入图片描述按钮,设置HarmonyOS SDK存储路径,单击Next进入下一步。
在这里插入图片描述

4.在弹出的SDK下载信息页面,单击Next,并在弹出的License Agreement窗口,阅读License协议,需同意License协议后,单击Next
在这里插入图片描述

5.点击Next开始安装。

在这里插入图片描述

6.等待Node.js、ohpm和SDK下载完成后,单击Finish,界面会进入到DevEco Studio欢迎页。

创建一个新工程:

  1. 打开DevEco Studio,在欢迎页单击Create Project,创建一个新工程。
  2. 根据工程创建向导,选择创建Application应用,选择“Empty Ability”模板,然后单击Next
  3. 填写工程相关信息,根据需求填写即可,单击Finish
  4. 工程创建完毕后,等待工程自动同步。

运行工程:

  1. 在DevEco Studio菜单栏,单击Tools > Device Manager

  2. 如果有华为开发者联盟帐号,可在Remote Emulator页签中单击Sign In,在浏览器中弹出华为开发者联盟帐号登录界面,请输入已实名认证的华为开发者联盟帐号的用户名和密码进行登录。登录后,单击界面的允许按钮进行授权,授权完成后,切换回Device Manager界面。在设备列表中,选择Phone设备P50,并单击在这里插入图片描述按钮,运行模拟器。

在这里插入图片描述

  1. 如果没有华为开发者联盟帐号,Local Emulator界面选择设备类型,点击New Emulator按钮新建设备。

    在这里插入图片描述

  2. 选择添加设备的型号,点击Next

    在这里插入图片描述

  3. 下载设备的运行环境,等待下载完毕,点击Next,

    在这里插入图片描述

  4. 更改添加的设备名称,点击Previous完成设备的添加。

    在这里插入图片描述

  5. 点击运行设备

HarmonyOS FA模型程序打包

基于FA模型开发的应用,其应用程序包结构如下图应用程序包结构(FA模型)所示。开发者需要熟悉应用程序包结构相关的基本概念。

FA模型与Stage模型不同之处在于HAP内部文件存放位置不同,FA模型将所有的资源文件、库文件和代码文件都放在assets文件夹中,在文件夹内部进一步区分。

config.json是应用配置文件,IDE会自动生成一部分模块代码,开发者按需修改其中的配置。详细字段请参见应用配置文件。

assets是HAP所有的资源文件、库文件和代码文件的集合,内部可以分为entry和js文件夹。entry文件夹中存放的是resources目录和resources.index文件。

resources目录用于存放应用的资源文件(字符串、图片等),便于开发者使用和维护,详见资源分类与访问。

resources.index是资源索引表,由IDE调用SDK工具生成。

js文件夹中存放的是编译后的代码文件。

pack.info是Bundle中用于描述每个HAP属性的文件,例如app中的bundleName和versionCode信息、module中的name、type和abilities等信息,由IDE工具生成Bundle包时自动生成。

应用程序包结构(FA模型)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/599926.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

事务的使用 @Transactional

更新操作多个数据表的时候需要使用到事务 事务:要么都执行,要么都不执行。 1.Transactional 如果有异常,只有RunTimeException和Error时,事务才会生效,否则事务不会生效,需要手动开启事务currentTransacti…

基于Springboot+Vue的Java项目-鲜牛奶订购系统开发实战(附演示视频+源码+LW)

大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &am…

华为eNSP中型企业局域网网络规划设计(下)

→b站传送门,感谢大佬← →华为eNSP中型企业局域网网络规划设计(上)← →拓扑图传送门,可以自己配置着玩← 配置ospf AR3 [AR3]ospf 1 router-id 3.3.3.3 //出口默认路由 [AR3-ospf-1]default-route-advertise always #area…

Go 语言基础之指针、复合类型【数组、切片、指针、map、struct】

1、数组 特别需要注意的是:在 Go 语言中,数组长度也是数组类型的一部分!所以尽管元素类型相同但是长度不同的两个数组,它们的类型并不相同。 1.1、数组的初始化 1.1.1、通过初始化列表{}来设置值 var arr [3]int // int类型的数…

阿里云CentOS 7.9 64位 Liunx 安装redis

具体的步骤如下: 添加 EPEL 仓库,因为 Redis 在标准的 CentOS 仓库中不可用: sudo yum install epel-release安装 Redis: sudo yum install redis启动 Redis 服务: sudo systemctl start redis如果你想让 Redis 在…

latex参考文献引用网址,不显示网址问题

以引用UCI数据集为例 1、加入宏包 \usepackage{url} 2、在参考文献bib文件中加入网址文献 misc{UCI, author {{D. Dua, E. Karra Taniskidou}}, year {2024}, title {UCI Machine Learning Repository}, howpublished {\url{http://archive.ics.uci.edu/ml}} } 完成&#x…

CANdela/Diva系列2--CANdela Studio的工作树介绍1

本系列的第一篇文章(CANdela/Diva系列1--CANdela Studio的基本介绍)主要介绍了CANdela这个工具,本篇文章将对CANdela Studio的工作树的每个模块进行详细介绍,不啰嗦,直接开始! 目录 1. ECU Information的…

NFTScan 与 Scattering 达成合作伙伴,双方将共同解决混合 NFT 数据需求

在区块链领域,NFT 的创新与发展从未停止。近日,NFT 数据基础设施 NFTScan 与一站式混合 NFT 交易市场 Scattering 达成合作伙伴关系,双方将在 NFT 数据层面展开合作,共同解决混合 NFT 的独特数据需求,Scattering 在协议…

2024-05-07 商业分析-赚钱之前怎么预估风险-记录

摘要: 2024-05-07 商业分析-赚钱之前怎么预估风险-记录 赚钱之前怎么预估风险 好,大家好,今天我们来讲的是叫什么赚钱之前怎么评估风险啊,这个问题啊提的很好啊,我们待会儿来讲啊。呃,首先呢今天这个主题呢来自于昨天…

【vulhub靶场】Tomcat中间件漏洞复现

【vulhub靶场】Tomcat中间件漏洞复现 一、Tomcat AJP 任意文件读取/包含漏洞 (CVE-2020-1938)1. 漏洞描述2. 影响版本3. 漏洞原理4. 漏洞复现 二、任意文件写入漏洞 (CVE-2017-12615)1. 漏洞原理2. 影响版本3. 漏洞复现 三、Tomca…

如何把Java的定时任务写到数据库里面去配置?

之前是这样写的,每次要改定时器都要修改发版,很麻烦: package cn.net.cdsz.ccb.common.scheduled;import cn.net.cdsz.ccb.business.config.Custom; import cn.net.cdsz.ccb.business.service.CCBBankService; import cn.net.cdsz.ccb.busin…

机器学习项目实践-基础知识部分

环境建立 我们做项目第一步就是单独创建一个python环境,Python新的隔离环境 创建:python -m venv ml 使用:.\Scripts\activate python -m venv ml 是在创建一个名为 ml 的虚拟环境,这样系统会自动创建一个文件夹ml,…

做题速度太慢了,面不上

没办法,之前练了一个月的sql。两个月不写,现在差不多忘干净了。工作空窗期,或者休息期不能太久,不然学再多的内容都可能会忘完的。 sql题,腾讯四道sql题,限时45分钟完成。我只做了一道,还没做完…

重磅!结合AI、高光谱与GEE的双碳目标智能监测与模拟前沿

以全球变暖为主要特征的气候变化已成为全球性环境问题,对全球可持续发展带来严峻挑战。2015年多国在《巴黎协定》上明确提出缔约方应尽快实现碳达峰和碳中和目标。2019年第49届 IPCC全会明确增加了基于卫星遥感的排放清单校验方法。随着碳中和目标以及全球碳盘点的现…

RabbitMQ的介绍和使用

1.同步通讯和异步通讯 举个例子,同步通讯就像是在打电话,因此它时效性较强,可以立即得到结果,但如果你正在和一个MM打电话,其他MM找你的话,你们之间是不能进行消息的传递和响应的 异步通讯就像是微信&#…

Linux系统使用Docker安装青龙面板并实现远程访问管理面板

文章目录 一、前期准备本教程环境为:Centos7,可以跑Docker的系统都可以使用。本教程使用Docker部署青龙,如何安装Docker详见: 二、安装青龙面板三、映射本地部署的青龙面板至公网四、使用固定公网地址访问本地部署的青龙面板 青龙…

【busybox记录】【shell指令】shuf

目录 内容来源: 【GUN】【shuf】指令介绍 【busybox】【shuf】指令介绍 【linux】【shuf】指令介绍 使用示例: 打乱内容 - 默认输出 打乱内容 - 最多输出n行 打乱内容 - 将输出写入文件 打乱内容 - 重复输出 打乱内容 - 打乱本条指令的参数 打…

C语言 自定义类型——联合体

目录: 一、联合体是?声明计算内存大小 二、联合体的特点例如 三、联合体大小的计算规则: 四、应用习1习2 一、联合体是? 联合体和结构体差不多,但是其最大的区别在于联合体所有的成员共用一块内存空间。所以联合体也叫共用体。联…

方法的重写

方法的重写 概念:子类继承父类之后,就拥有了符合权限的父类的属性和方法,但是当父类的方法不符合子类的要求的时候,子类也可以重新的书写自己想要的方法。所以,方法的重写,即子类继承父类的方法后&#xf…

「代码与养生」 :当下程序员的养生指南

前言 众所周知,程序员是死的比较快的一类人。因为天天加班、睡眠不足、久坐不动、长时间面对电子屏幕辐射、长时间高强度用脑等不好避免的问题。因此,要想活的时间长一点,就要多了解一些养生之道 下面,根据个人看的一些博客、书…