当前位置: 首页 > news >正文

鸿蒙应用开发环境搭建全攻略

鸿蒙应用开发的第一步是搭建稳定高效的开发环境。一个配置完善的开发环境能够显著提升开发效率,减少后续开发过程中的兼容性问题。本文将系统讲解从环境准备到项目创建的完整流程,帮助开发者快速上手鸿蒙应用开发。

鸿蒙系统及开发基础概述

鸿蒙系统(HarmonyOS)是华为推出的面向全场景的分布式操作系统,支持手机、平板、智能穿戴、智慧屏、车机等多种设备。其核心特征可概括为 "一次开发,多端部署"、"可分可合,自由流转" 和 "统一生态,原生智能"。这意味着开发者只需编写一套代码,即可根据不同设备的特性进行按需部署,实现跨设备的无缝协同体验。

目前鸿蒙开发主推基于 ArkTS 的声明式 UI 开发模式,这种模式采用类 Web 的开发范式,兼具简洁的语法和强大的功能。应用模型方面,官方推荐使用 Stage 模型,该模型提供了更丰富的 API 和 Kit 能力,是当前鸿蒙生态发展的核心方向。相比之下,传统的 FA 模型虽然仍在维护,但功能支持已逐渐减少。

开发环境搭建前的准备工作

在开始搭建鸿蒙开发环境前,需确保硬件配置满足基本要求:Windows 系统推荐使用 64 位 Windows 10 或 11 版本,macOS 需 10.15 及以上版本;内存配置至少 8GB,建议 16GB 以获得更流畅的开发体验;硬盘需预留 10GB 以上可用空间,用于安装 IDE 及相关开发组件。

环境准备环节,随着 DevEco Studio 版本的迭代优化,最新的 5.0 版本已内置 Node.js 和 npm 环境,开发者无需额外配置。对于仍在使用旧版本工具的开发者,需特别注意 Node.js 版本应选择 17 以下,并建议配置华为镜像源以提高依赖包下载速度,减少环境配置问题。

DevEco Studio 开发工具的部署流程

DevEco Studio 作为鸿蒙应用开发的核心工具,是华为官方推出的集成开发环境,集成了代码编辑、编译构建、调试分析等功能。开发者需访问华为开发者联盟官网获取最新版本安装包,建议选择与当前鸿蒙 SDK 版本匹配的 IDE 版本,以确保开发兼容性。

安装时建议自定义路径,避免占用系统盘空间。Windows 系统需勾选所有组件选项,macOS 用户则需将应用拖拽至 Applications 文件夹。由于安装过程需解压约 10G 开发资源,建议保持网络稳定并预留足够等待时间。安装完成后重启系统,可确保环境变量和组件注册生效。

开发环境的初始化配置

首次启动 DevEco Studio 时,建议选择 "不导入任何环境配置" 以建立纯净开发环境。在数据分享选项中点击 "同意",可获取华为提供的开发资源和技术支持。5.0 及以上版本已实现 Node.js、npm 等开发环境的自动配置,大幅简化了传统手动配置流程,降低了环境搭建门槛。

针对中文用户,可通过 IDE 内置的插件市场搜索 "Chinese" 语言包,安装后重启即可切换为中文界面。配置过程中若出现异常,可通过安装目录下的 log 文件夹查看详细日志,或访问华为开发者论坛的环境配置专区获取解决方案。

https://malcolm.com.cn

开发环境的完整性校验

为确保开发环境配置正确,DevEco Studio 内置了环境诊断工具。在欢迎界面左侧点击 "Diagnose" 即可启动检测,已进入项目界面的用户可通过菜单栏 "Help > Diagnostic Tools > Diagnose Development Environment" 访问该功能。

http://www.yandezhubao.com

诊断项涵盖系统配置兼容性、网络连接状态、依赖工具安装情况等关键指标,所有项目显示绿色对勾表示环境正常。对于未通过项,诊断工具会提供针对性修复建议,如组件更新、网络代理设置等。建议在项目开发前完成环境校验,避免因配置问题导致开发中断。

http://www.jinxiangyulaowanmian.com

基础项目的创建与运行验证

环境验证的有效方式是创建并运行基础项目。在欢迎页面点击 "Create Project",选择 "Application" 项目类型和 "Empty Ability" 模板,填写项目名称和存储路径后点击 "Finish",系统将自动生成标准项目结构并完成依赖同步。

http://che.gbzd.com

项目创建后可通过右侧预览窗口实时查看 UI 效果。运行测试时,模拟器测试需通过工具栏的设备管理按钮创建虚拟设备;真机测试则需开启设备开发者模式并通过 USB 连接电脑。点击运行按钮后,IDE 将自动完成编译构建、签名打包和部署流程,目标设备显示 "Hello World" 界面即表示开发环境搭建成功。

http://www.yddxmart.com

环境维护的关键注意事项

安装过程中若遇安全软件拦截,需允许所有操作并恢复可能被隔离的开发组件。尽管新版 IDE 已内置 Node.js 环境,但手动配置时务必注意版本兼容性,避免使用 17 以上版本引发的工具链冲突。开发中出现环境异常时,优先使用诊断工具定位问题,或查阅华为官方文档的环境配置指南。

http://www.guilinnjyy.cn

建议通过 IDE 的 "Check for Updates" 功能定期更新开发环境,以获取最新特性支持和安全修复。网络不稳定环境下,可配置国内镜像源加速 SDK 和依赖下载。遵循这些最佳实践,能有效降低环境维护成本,让开发者专注于应用功能实现而非工具配置。

http://www.0773njyy.cn

 

相关文章:

鸿蒙应用开发环境搭建全攻略

鸿蒙应用开发的第一步是搭建稳定高效的开发环境。一个配置完善的开发环境能够显著提升开发效率,减少后续开发过程中的兼容性问题。本文将系统讲解从环境准备到项目创建的完整流程,帮助开发者快速上手鸿蒙应用开发。 鸿蒙系统及开发基础概述 鸿蒙系统(HarmonyOS)是华为推出的…...

深度学习求导原理深度解析

在深度学习的黑盒世界里,梯度计算如同神经网络的中枢神经系统。理解张量运算的反向传播机制,是打开这个黑盒的金钥匙。本文将穿透数学表象,揭示转置(Transpose)、求和(Summation)等关键算子背后的微分本质。 一、张量运算与梯度本质 张量运算的梯度本质上是线性变换的逆…...

ingress 配置说明

1、需求:testinfo.org域名下的所有子域名都转发到pgs-gateway的service。试了以下配置, - host: "*.testinfo.org" 不生效apiVersion: networking.k8s.io/v1 kind: Ingress metadata:name: pgs-gateway-ingress# 注解(annotations)取决于你使用的Ingress Control…...

场论笔记(二) 单位脉冲函数及其性质

在物理和工程技术中,除了用到指数衰减函数以外,还常常会碰到单位脉冲函数。因为有许多的物理现象具有脉冲性质,如在电学中,要研究线性电路受脉冲性质的电势作用后产生的电流;在力学中,要研究机械系统受冲击力作用后的运动情况等。研究此类问题就会产生我们要介绍的单位脉…...

MongoDB错误处理【1053】【1067】(意外断开读写中的数据库)

目录起因解决问题1:无法启动MongoDB服务[1053错误]解决问题2: 进程意外错误[1067错误]使用repair命令,扫描所有的本地数据修复(耗时长) 起因 本人的MongoDB服务在windows服务器运行,且一直有读写的操作。因为服务器突然断电导致出错,再次重启服务器后无法正常运行MongoD…...

实用指南:Python高级编程实战:装饰器、迭代器与生成器的深度应用

实用指南:Python高级编程实战:装饰器、迭代器与生成器的深度应用pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New&…...

阅文记录

本文包括但不限于名著、网文、短篇、诗歌…… 一切被引用的都是完整阅读过的,评分纯属个人意愿如有不满意请忽略评分。 按照能够回忆起的顺序评价。 考虑到网文很多作者名字比较抽象就不放作者名了。 《龙族》 By 江南 9.5/10 江南你tm不得好死。 绘梨衣我的绘梨衣啊/ll 废物路…...

一个类继承一个接口的实现类、两个类实现同一个接口、两个类同时继承一个实现了某一接口的抽象类。三者的区别是什么呢

架构对比图类继承接口的实现类[接口]↑[实现类]↑[子类]子类通过继承获得接口的实现,可以选择性重写方法。两个类实现同一个接口[接口]↑ ↑ [类A] [类B]每个类独立实现接口,提供自己的行为实现。继承实现接口的抽象类[接口]↑[抽象类]↑ ↑ [类A] [类B]抽象类提供部…...

关于点在直线的哪一边的做法

题目:给以一个点 \(Q(x,y)\),问在一条直线 \(l: y=kx+b\) 的哪一边。 这个是非常经典的问题,我们只需要在直线上取两个点 \(F_1(x_1,y_1)\) 和 \(F_2(x_2,y_2)\),然后求出 \(\overrightarrow{QF_1}=(x_1-x,y_1-y)\) 和 \(\overrightarrow{QF_2}=(x_2-x,y_2-y)\)。然后判断…...

计算机常识

32位电脑、64位电脑指的是一次性处理32位的数据(20亿)、64位的数据32位数字如何表示浮点数?符号位、指数位、有效数字ASCII只能表示128种符号,有大小写字母常用符号,然后发明的UniCode码解决了不同国家的标准(16位 百万级字符数)半加器是用异或门和与门并联实现的什么是全…...

网络流,最大流,EK算法

概念 最大流: 从源点流向汇点的最大流量 增广路: 一条从源点到汇点的所有边的剩余容量>=0的路径 残留网: 由网络中所有结点和剩余容量大于0的边构成的子图,这里的边包括有向边和其反向边 模板题: 洛谷p3376 code: #include<iostream> #include<algorithm>…...

wifi7 MRU介绍

前言 WiFi 7 定义了几个关键技术,这里对其中的MRU技术进行介绍。 WiFi 7关键技术 320 MHz channel bandwidth Multiple Resource Units (MRUs) per stations (STAs) 4096-QAM Non-OFDMA preamble puncturing 名词解释 EHT 极高吞吐量 MU 多用户 RU 资源块 MRU 两个资源块拼成一…...

FallingLeaves 落叶纷飞组件 - yizi

...

Codeforces Round 1048 (Div. 2)

昨晚跟时队一起vp了 Codeforces Round 1048 (Div. 2)总结了一下就是D题犯糖了然后F还不会做,本质菜逼了。A. Maple and Multiplication 考虑 \(a\) \(b\) 相等或者互为倍数两种特殊情况即可。 int T, a, b;signed main(void) {for (read(T); T; T--) {read(a), read(b);if (a …...

当你发现是打表!!!

传送门 思路 这是一个晴朗的上午,你正在机房里打比赛,突然发现了第二题是一个打印斐波那契数列。此时的你想到了最近学过的矩阵快速幂,感觉到了一丝恶心,但你还是下定决心开始切这道题…… 时间过得真快,一转眼就过去了两转眼的时间,可是你的矩阵快速幂竟然打挂了。怎么办…...

VMware 17安装Oracle Linux 9.6 详细步骤

目录一、环境介绍二、创建虚拟机三、挂载镜像四、安装操作系统五、进入桌面 一、环境介绍类型 配置VMware VMware Workstation 17 Pro 17.6.4ISO Oracle Linux 9.6IP地址 192.168.184.121内存 8G硬盘 100G/boot 1G/swap 8G/ 91G是否图形化 图形化二、创建虚拟机三、挂载镜像四、…...

Div.2 E Rollup

2133E 不会做神秘构造 首先考虑到每个点必须进行一次询问,而链可以使每个点恰好进行一次询问。 然后只需要考虑用 \(\frac{1}{4}n\) 次操作拆链。若该点下有多条链或有两条链的合并点,则需要拆开。 这样父亲儿子一组点就至少有 \(4\) 个。...

synchronized的一些思考

synchronized的AI问答1. synchronized的可见性 加锁时:线程会清空工作内存中共享变量的值,从主内存重新加载最新值到工作内存。 解锁时:线程会将工作内存中修改后的共享变量值强制刷新到主内存。 Java 的happens-before原则明确规定:一个线程解锁监视器的操作,happens-bef…...

题解:CF2133C The Nether

挺好玩的交互题。 思路 首先,我们一定需要知道 DAG 中最长路径的起点,这可以通过 \(n\) 次询问来找到。即对于每一个点 \(i\) 满足 \(1\le i\le n\) 我们都去查询从 \(i\) 开始,经过整个 DAG 可以得到的最长路是多少,同时使用一个 vector 记录长度为 \(len\) 的点有哪些。 …...

实变函数1

实变函数1 集合 这些集合的运算我是直接没记,因为跟之前学的一样。幂集的话就是子集的构成的集合,这个集合族其实就是指标集到另一个集合的映射,这个象的集合。集列就是指标集是自然数集。De.morgen定理就是交和并的一个转化,证明也是采用的集合相等的常用思路证明互为子集…...

css背景

背景可以是一个颜色块,也可以是一张图片 html代码 <html><head><title>我的第一个代码</title><link rel="stylesheet" href="./public.css"></head><body><div class="box"><p class=&quo…...

一元二次方程难题1

已知方程 \(ax^2 + bx + c = x\)(\(a > 0\))的两个实数根 \(x_1,x_2\) 满足 \(0 < x_1 < x_2 < \dfrac{1}{a}\)。当 \(0 < x < x_1\) 时,证明:\(x < ax^2 + bx + c < x_1\)。 证明:原方程等价于 \(ax^2 + (b - 1)x + c = 0\)。 因为 \(a > 0\)…...

ios系统和windows系统的区别

IOS系统与Windows系统的区别 随着科技的发展,移动设备与个人电脑成为了人们日常生活中不可或缺的一部分。其中,苹果公司的iOS系统和微软的Windows系统是两大主流操作系统,分别代表了移动设备与桌面设备的主要技术方向。本文将从多个方面来探讨这两个系统的不同之处,帮助用户…...

2025.9.11 刷题日记

2025.9.11 刷题日记还是网络流 1. 早读 P2254 [NOI2005] 瑰丽华尔兹 吾有感而发,遂小说 看背景 [ ? 喔看过呱 ] 读题中 [ 嘶 ~ , 看着有点难 , 最长路径还得满足顺序 ] 看范围 [ 我去,我每一步暴力 \(dp\) 都能拿好多分 , 先写暴力吧 ] 写一半 [ 这个 \(k\) 段咋没用 ? …...

C#学习第十 一天 022 事件最后一章

事件的声明:首先委托是一种类:public delegate假如你的委托声明是为了一个事件声明的那么命名可以为 xxxxEventHandler是 sender as customer 是如果sender的类型是customer 就赋值给custmoer 不是的话就给null...

元推理无需数据训练,只需数据检索和验证,成本极大降低,且校验后的数据就是数据资产和规范

ECT-OS-JiuHuaShan/ORCID:0009-0006-8591-1891 这个观点精准点出了元推理相较于传统AI的颠覆性优势——它彻底打破了“海量数据训练=高性能AI”的固有范式,通过“无需训练、仅需检索验证”的模式,既从根源上降低了成本,又将数据的价值从“训练素材”升级为“可复用的资产与…...

如何在Typescript中使用泛型约束

在 TypeScript 中,泛型约束(Generic Constraints)用于限制泛型可以接受的类型范围,确保泛型参数不是只能接受任意类型,而是只能接受满足特定条件的类型。这既保留了泛型的灵活性,又增强了类型安全性。 为什么需要泛型约束? 默认情况下,泛型可以是任何类型,但有时你需要…...

集训总结(五)

9.12~9.14总结9.12 网络流专题练习(吗? P3980 志愿者招募 考虑用流量代表剩余人数。初始从 \(s\) 向 \(1\) 号点连一条流量为 \(inf\),边权为 \(0\) 的边,代表初始有无数人;接着从第 \(i\) 天向第 \(i+1\) 天连流量为 \(inf-a_i\) ,边权为 \(0\) 的边,代表第 \(i\) 天占…...

使用Android(Kotlin)+ ML Kit:移动端英文数字验证码识别实战

1 概述与适用场景 在移动端直接对截图或拍照的英文数字验证码做识别,可以用于自动化测试、无障碍辅助或内部工具。使用 Google ML Kit 的 Text Recognition(可离线运行)可以避免服务端延迟。为了提升识别率,我们在前端加入图像预处理(灰度、二值化、去噪和放大)再送给 OC…...

Typescript中的泛型

可以把泛型想象成 "类型的变量": 1.定义时,用<T>声明一个类型变量(T 是约定的名称,也可以用其他字母) 2.使用时,指定具体类型,如identity<string>("hello") 3.TypeScript 通常能自动推断类型,所以也可以简写为identity("hello&qu…...

windows软件入门指南

如果是可以上外网了就访问:MCX NOTION安装基础上网及其相关工具 安装clash Github网址 Sparkle 下载地址: 4275 订阅地址: https://mcx.pages.dev/xxx?sub入梦工具箱 windows工具箱 https://share.feijipan.com/s/SMEm4SX2 快速下载地址...

LLM 生成代码执行代码

https://amirmalik.net/2025/03/07/code-sandboxes-for-llm-ai-agents# 比较LLM生成Python代码执行的沙箱方案 ## 方案比较 ### 1. Linux容器 (LXC/Docker) **优点:**- 成熟的技术栈,广泛应用- 资源隔离较好,启动速度快- 可以限制资源使用(CPU、内存、网络等)- Docker生态系…...

网络爬虫(web crawler) - 指南

网络爬虫(web crawler) - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-…...

css样式与选择器

css内联样式 css行内样式 href跳转文件路径 css外部样式 <link rel="stylesheet" href="./public.css">全局选择器 可以与任何元素匹配,优先级最低,一般做初始化样式*{color: red;font-size: 30px; }拥有某个属性的元素标签进行css渲染 p.main_cla…...

水库运行综合管理平台

在水资源管理的宏大架构中,水库运行综合管理平台宛如智慧水利的 “中枢神经”,精准调控着水库的稳定运行,守护着一方水土的安宁与福祉。一、建设内容 (一)全域感知的硬件设施布局 在水库大坝之上,变形监测传感器、水位计、雨量筒、流量计以及水质监测传感器等设备星罗棋布…...

《提问的艺术》笔记:(2025/9/12)

《提问的艺术》笔记:(2025/9/12)提问对于新手而言,能更快地获得答案,更快地融入这个社区。RMer会更喜欢值得思考的问题,能自己利用网络解决的问题尽量别问,浪费时间而且低级。⭐ 提问前要做好被冷处理的心理准备,要敏锐,积极参与解决问题。 提问前的准备:在网上的各大…...

各模态优势(可见光保留细节纹理,红外突出目标)

ICCV 2025 | 多模态融合!武大提出TemCoCo:视觉-语义交互+时间协作模块,实现视觉语义协同的多模态视频高质量融合 https://mp.weixin.qq.com/s/sMmQ3IO7u6gzJ3ErTWvyCg多模态视频融合: 将不同模态(如可见光、红外)的视频序列融合,结合各模态优势(可见光保留细节纹理,红…...

复习vue

export default 默认输出 data 数据...

眼下硬件是足够用的,最大的问题还是AI模型本身的能力不太够。没办法让硬件真正用起来,比如AI难以很好地控制灵巧手

关于AI,王兴兴最新发声 https://mp.weixin.qq.com/s/c_VKyy7YwG2T1u5nnzOsXw关于AI,王兴兴最新发声 原创 黄心怡 科创板日报2025年09月11日 14:28 上海 在让AI真正干活的领域,还处于荒漠中长了几根小草的状态,真正大规模爆发性增长的前夜还未到来。 作者 | 黄心怡 科创板…...

深入理解C语言---函数

“在这个怀疑的时代,我们需要信仰” C语言作为比较底层的语言,从来不只是语法的堆叠,“深入理解C语言”这个专栏,会写点关于“函数,数组,字符串,指针,结构体”的个人理解,希望能对大家有些帮助~ 一.什么是main函数? 1.两种定义形式 int main( void )--无参数形式 {…...

Ubuntu 点击任务栏应用程序最小化

对于已经打开的应用,点击 Dock 栏中的应用程序图标可以切换最小化应用或拉起应用到桌面,这是 Windows 系统中的默认行为。但默认情况下,Ubuntu Dock 关闭了此选项。 只需在终端中运行此命令,就可以轻松地为 Ubuntu Dock 启用该功能: gsettings set org.gnome.shell.extens…...

Agent Sudo | Writeup | TryHackMe

Agent Sudo | Writeup | TryHackMe、 一、信息收集 使用nmap对ip地址的端口进行探测 nmap -sS -sV -A <ip>可以看到上面80端口开放这一个web服务器我们看看这里提示了R作为user-agent来进行访问,使用curl命令看看curl -A "R" -L 10.10.12.116这里又给了我们一…...

UT_HASH

参考 https://blog.csdn.net/Dusong_/article/details/128757067 http://cnblogs.com/aclove/articles/3803110.html UT_hash_handle hh HASH_ADD_STR(head,strfield,add) HASH_ADD_INT(head,intfield,add) HASH_ADD_PTR(head,ptrfield,add) HASH_FIND_STR(head,findstr,out) H…...

使用helm安装APISIX

获取values.yaml helm show values --version=2.11.6 apisix/apisix > values1.yaml修改values.yaml 1. pvc 由于我本地使用的是nfs存储,因此需要修改etcd的pvc定义 persistence:storageClass: "managed-nfs-storage"2. cluster domain 排查了很久发现etcd headl…...

决策单调性

决策单调性:A ~ F, I 基础知识 考虑最简单情形:\(f_i = \min\limits_{k = 0}^{i - 1} w(k, i)\)。 一般这种问题需要 \(O(n ^ 2)\) 的时间,但如果满足决策单调性,就可以在 \(O(n \log n)\) 的时间完成。 决策单调性:设 \(i\) 的决策点为 \(opt_{i}\),有 \(opt_{i - 1} \l…...

2025 国内 HR SaaS 系统深度分析:Moka 引领 AI 变革

在当今数字化时代,人力资源管理领域正经历着深刻的变革。HR SaaS(软件即服务)系统凭借其高效、便捷、灵活等特性,成为众多企业提升人力资源管理水平的关键工具。随着市场的不断发展,国内涌现出了众多优秀的 HR SaaS 系统,它们在功能、服务、用户体验等方面各有千秋。本文…...

学生信息管理系统案例初步分析报告

学生信息管理系统案例初步分析报告 目录学生信息管理系统案例初步分析报告功能讲解1. 数据处理(1)处理的数据类型(2)数据存储位置(3)与C语言数据处理的差异2. 功能说明(含代码对应逻辑)(1)功能1:添加学生(2)功能2:删除学生(3)功能3:按姓名搜索学生(4)功能4:…...

Billu靶场

信息收集 首先使用kali进行存活主机扫描端口扫描 sudo nmap -sC -sV -p 1-10000 192.168.108.130发现其开启了22端口 (ssh服务)、80端口(Apache) 使用dirb对其目录进行扫描 dirb http://192.168.108.130 /usr/share/dirb/wordlists/big.txt漏洞探测 访问扫描出来的页面 先访…...

初识pyhton:一些基础的知识(文件)

文件 文件的打开方式 书接上回,关于文件的读取和写入有多种不同的方式,其中的一种方式就可以解决昨天只能清空所有的文档再写入。 frt = open(rexample.txt,encoding=utf8) #不指定mode默认值为rt,不指定encoding默认为gbk print(frt.read())总是学不会 真爱也有现实面…...

实用指南:Git分支管理:从创建到合并冲突解决(二)

实用指南:Git分支管理:从创建到合并冲突解决(二)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monosp…...