鸿蒙应用开发之环境搭建

news2024/12/25 1:42:44

一、环境搭建

正所谓“工欲善其事,必先利其器”。在正式学习一门课程之前,我们首先需要做的就是搭建开发环境。首先,我们需要下载DevEco Studio,DevEco Studio支持Windows系统和macOS系统,在开发HarmonyOS应用/服务前,需要配置HarmonyOS应用/服务的开发环境。环境配置流程如下所示:

image.png

二、版本更新

对于之前已经安装好了老版本IDE的情况,HUAWEI DevEco Studio提供了版本检查和一键更新的能力,当新版本上线后,老版本的右下角会弹出版本更新的提示,开发者可以按版本更新提示进行IDE的升级更新,以便获取最新的能力。

image.png

在更新页面中,开发者可以看到每个版本更新的新功能和增强功能的具体介绍,以便了解新版本IDE带来的优化升级。

image.png

三、环境诊断工具

环境搭建完成后,大家最为关心的就是这个环境是否都正确配置好了呢?为了您开发应用/服务的良好体验,DevEco Studio提供了开发环境诊断的功能,帮助您识别开发环境是否完备。您可以在欢迎界面单击【Help> 【Diagnose Development Environment】 进行诊断。如果您已经打开了工程开发界面,也可以在菜单栏单击【Help> 【Diagnostic Tools】 >【Diagnose Development Environment 行诊断。

image.png

如果检查结果都是√,表示环境搭建正常,如下图所示:

image.png

DevEco Studio开发环境诊断项包括电脑的配置、网络的连通情况、依赖的工具或SDK等。如果检测结果为未通过,请根据检查项的描述和修复建议进行处理。

四、新老工程迁移

OHPM CLI(OpenHarmony Package Manager Command-line Interface) 作为鸿蒙生态三方库的包管理工具,支持OpenHarmony共享包的发布、安装和依赖管理。在DevEco Studio 3.1 beta2上新建API 9及以上版本的工程将使用ohpm作为默认包管理器。

使用DevEco Studio 3.1 beta2版本打开API 9的历史工程时,需要进行历史工程迁移。开发者可选择自动化工程迁移,或根据提示选择手动迁移。

4.1 自动化迁移

1,打开API 9历史工程,在右侧Notifications会出现Sync Failed,点击Actions,选择Start automatic configuration migration进入自动化迁移。
image.png

2,在弹窗中点击Migrate启动自动化迁移。
image.png
若自动化迁移失败,请参考下方手动迁移来完成迁移操作。

image.png

4.2 手动迁移

历史工程(API ≥9)在DevEco Studio 3.1 Beta2下使用时,需要对工程进行迁移,迁移前对工程进行备份。迁移流程如下:

  1. 迁移配置文件将工程和模块下npm包管理相关配置文件package.json或.npmrc,迁移为oh-package.json5或.ohpmrc文件。
  2. 新增编译构建相关文件在工程中新增hvigor相关的wrapper文件,包括hvigorw、hvigorw.bat、hvigor-config.json5、hvigor-wrapper.js配置文件。
  3. 删除不再使用的npm包管理文件包含package.json、package-lock.json、.npmrc、node_modules,工程和模块级别下均需进行删除处理。

image.png

迁移过程中需要注意以下几点:

1,在工程/模块级别中,涉及package.json或.npmrc的配置文件处,创建相同目录层级的oh-package.json5或.ohpmrc文件。

2,将历史工程package.json和.npmrc文件中包含的需要迁移的字段,拷贝到对应的oh-package.json5和.ohpmrc文件中。

表1 oh-package.json5字段及迁移说明

oh-package.json5包含字段字段说明迁移/新增字段原package.json字段说明
name软件包名称迁移字段name必选字段,若package.json文件中未指明,需在oh-package.json5添加补齐
version软件包版本迁移字段version必选字段,若package.json文件中未指明,需在oh-package.json5添加补齐
description软件包简介迁移字段description必选字段,若package.json文件中未指明,需在oh-package.json5添加补齐
keywords软件包关键字迁移字段keywords-
homepage主页链接迁移字段homepage-
license开源协议迁移字段license-
author软件包作者迁移字段author-
main软件包入口迁移字段main-
repository仓库地址迁移字段repository-
dependencies生产依赖迁移字段dependencies该字段处理方式请参阅下方说明内容
devDependencies开发依赖迁移字段devDependencies-
types类型定义迁移字段types-
artifactType鸿蒙包制品类型新增字段-有三个选项:original、obfuscation、bytecode。- original:源码,即发布源码(.ts/.ets)。
  • obfuscation:混淆代码,即源码经过混淆之后发布上传。
  • bytecode:字节码,即源码经过混淆,且把混淆后的代码编译成abc方舟字节码,然后再上传(.abc) |

表2 .npmrc文件迁移字段对照及说明

.npmrc字段字段释义.ohpmrc对应字段
registry仓库地址registry
@${scope}:registry指定仓库@${group}:registry
cache缓存路径cache
noproxy不使用proxy代理no_proxy
proxyhttp代理http_proxy
https-proxyhttps代理https_proxy
strict-sslssl校验strict_ssl
cafileca证书路径ca_files
loglevel日志级别log_level

3,工程需要添加ohpm编译构建四件套hvigorw、hvigorw.bat、hvigor-config.json5、hvigor-wrapper.js。可新建一个API 9的新工程,拷贝新工程中hvigorw、hvigorw.bat、hvigor-config.json5、hvigor-wrapper.js四项配置文件,粘贴到历史工程文件夹对应位置。

image.png

4,删除工程级别和模块级别下包含的package.json、package-lock.json、.npmrc、node_modules四项配置。

image.png

5,点击File>Sync and Refresh Project,完成同步。

image.png

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣每日一题64:最小路径和

题目描述: 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例 1: 输入:grid [[1,3,1],[1,5,1],[4,2…

高通Quick Charge快速充电原理分析

1 三段式AC充电器 涓流、恒流、恒压。 2 QC 2.0 2.1 高通Quick Charge 2.0 快速充电原理分析 QC 2.0快速充电需要手机端和充电器都支持才行。 当将充电器端通过数据线连到手机上时,充电器默认的是将D和D-短接的,这样手机端探测到的充电器类型是DCP&#…

【前端】Webpack5中Html和CSS的压缩打包

1.Webpack5简介 1.1.Webpack简介 (1)webpack的发展历程 2012.3—webpack(问世) 2014.2—webpack1 2016.12—webpack2 2017.6—webpack3 2018.2—webpack4 2020.10—webpack5(要求node版本10.13) &a…

iview项目中,radio选中值回显问题

问题描述:iviewvue项目中,数据从路由传参进入编辑页面,页面的radio选中状态首次显示,浏览器刷新后不显示: 1、首次进入: 2、浏览器手动刷新后: 经查,路由传参的值为字符串&#xff…

【ARM AMBA Q_Channel 详细介绍】

文章目录 1.1 Q_Channel 概述1.2 Q-Channel1.2.1 Q-Channel 接口1.2.2 Q-Channel 接口的握手状态1.2.3 握手信号规则 1.3 P_Channel的握手协议1.3.1 device 接受 PMU 的 power 请求1.3.2 device 拒绝 PMU 的 power 请求 1.4 device 复位信号与 Q _Channel 的结合1.4.1 RESETn 复…

驱动开发5 阻塞IO实例、IO多路复用

1 阻塞IO 进程1 #include <stdlib.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/ioctl.h> #include <fcntl.h> #include <unistd.h> #include <string.h>int main(int argc, char co…

真空室的内表面加工

真空室和部件的内表面是在高真空和超高真空下实现工作压力的重要因素。必须在该条件下进行加工&#xff0c;以最小化有效表面&#xff0c;并产生具有最小解吸率的表面。 真空室和部件的表面往往是在焊接和机械加工后经过精细玻璃珠喷砂的。具有限定直径的高压玻璃珠被吹到表面…

Python创建条形图加点重叠

目录 代码效果图 要使用Python的Seaborn库创建一个条形图加点重叠的统计图&#xff0c;可以使用 seaborn.barplot和 seaborn.stripplot函数。以下是一个论文级别的简单示例代码&#xff0c;演示如何创建这种效果的图 代码 import seaborn as sns import matplotlib.pyplot a…

05 MIT线性代数-转置,置换,向量空间Transposes, permutations, spaces

1. Permutations P: execute row exchanges becomes PA LU for any invertible A Permutations P identity matrix with reordered rows mn (n-1) ... (3) (2) (1) counts recordings, counts all nxn permuations 对于nxn矩阵存在着n!个置换矩阵 , 2. Transpose: 2.…

如何将 huggingface上的模型文件下载到本地

写在前面 缘由&#xff1a;国内的GPU服务器直接调取 huggingface 上模型经常会失败&#xff0c;因此下载到本地就能免去许多麻烦。 方法三基于知乎上一位博主所提出方法的基础上进行改进&#xff0c;可以将huggingface上模型由 Colab 存进 谷歌云盘 或者 百度云盘。特别是有些…

Appium+Python+pytest自动化测试框架的实战

本文主要介绍了AppiumPythonpytest自动化测试框架的实战&#xff0c;文中通过示例代码介绍的非常详细&#xff0c;具有一定的参考价值&#xff0c;感兴趣的小伙伴们可以参考一下 先简单介绍一下目录&#xff0c;再贴一些代码&#xff0c;代码里有注释 Basic目录下写的是一些公…

【文章学习系列之模型】Koopa

本章内容 文章概况模型结构主要结构实验结果消融实验模型效率分解效果定性分解效果定量算子稳定性 总结 文章概况 《Koopa: Learning Non-stationary Time Series Dynamics with Koopman Predictors》是2023年发表于NeurIPS的一篇论文。考虑到时序预测中训练和推理数据之间甚至…

网工内推 | 网络工程师,大专以上、HCIA认证即可,最高14薪

01 湖南口味王集团 招聘岗位&#xff1a;网络工程师 职责描述&#xff1a; 1、负责园区内电脑日常维护&#xff1b; 2、负责园区内办公周边设备的日常维护&#xff0c;如打印机、投影仪等&#xff1b; 3、负责园区内电话日常维护&#xff1b; 4、负责园区内信息资产管理&#…

vcomp100.dll丢失的解决方法,一键修复vcomp100.dll丢失问题

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“vcomp100.dll丢失”。这个错误通常会导致某些程序无法正常运行&#xff0c;给用户带来困扰。为了解决这个问题&#xff0c;我整理了以下五个解决方法&#xff0c;希望能对大家有所帮助。 一…

Python-----for循环基本语法及其应用---对序列进行遍历循环

for循环基本语法 for循环结构主要用于&#xff08;序列 &#xff1a;包括 字符串、列表、元组、集合以及字典&#xff09;类型数据的遍历&#xff08;循环&#xff09;操作。 遍历(Traversal)&#xff0c;是指沿着某条搜索路线&#xff0c;依次对树&#xff08;或图&#…

《深入理解java虚拟机 第三版》学习笔记三

第 8 章 虚拟机字节码执行引擎 代码编译的结果从本地机器码转变为字节码&#xff0c;是存储格式发展的一小步&#xff0c;却是编程语言发展的一大步。 8.1 概述 执行引擎是 Java 虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念&#xff0c;这两种机器都…

Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告

这篇文章主要介绍了Python3 Appium 安卓模拟器实现APP自动化测试并生成测试报告,本文给大家介绍的非常详细&#xff0c;对大家的学习或工作具有一定的参考借鉴价值&#xff0c;需要的朋友可以参考下 正文 一、安装Python3 直接登录Python官网https://www.python.org/&…

C++数据结构X篇_21_插入排序(稳定的排序)

文章目录 1. 插入排序原理2. 算法图解3. 核心代码&#xff1a;4. 插入排序整体代码实现 1. 插入排序原理 插入排序是一种最简单直观的排序算法&#xff0c;它的工作原理是通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相…

Unity 自定义小地图

最近工作做了个小地图&#xff0c;再此记录下思路。 1、准备所需素材 显示为地图&#xff08;我们取顶视图&#xff09;。创建一个Cube&#xff0c;缩放到可以把实际地图包住。实际地图的尺寸和偏移量 。我这里长宽都是25&#xff0c;偏移量&#xff08;1&#xff0c;0&…

MySQL进阶(数据库引擎)——MyISAM和InnoDB引擎的区别

1.是否支持行级锁 MyISAM 只有表级锁&#xff0c;而InnoDB 支持行级锁和表级锁&#xff0c;默认为行级锁。 &#xff08;1&#xff09;MySQL大致可以归纳为以下3种锁&#xff1a; 表级锁&#xff1a;开销小&#xff0c;加锁快&#xff1b;不会出现死锁&#xff1b;锁的粒度大…