Purple Pi OH鸿蒙开发板7天入门OpenHarmony开源鸿蒙教程【六】

news/2024/7/10 21:37:29 标签: harmonyos, 开源, 华为, 嵌入式硬件

今天我们来从OpenHarmony简介、环境搭建、创建第一个OpenHarmony项目等方面开始OpenHarmony应用开发的第一步。

一. OpenHarmony简介

OpenHarmony 是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代、基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。

官网地址:

https://www.openharmony.cn

码云仓库地址:

https://gitee.com/openharmony

二.工具简介

DevEco Studio 是 OpenHarmony 应用开发推荐的 IDE 工具。

HUAWEI DevEco Studio For OpenHarmony 是基于 IntelliJ IDEA Community 开源版本打造,面向 OpenHarmony 全场景多设备的一站式集成开发环境(IDE),为开发者提供工程模板创建、开发、编译、调试、发布等 E2E 的 OpenHarmony 应用/服务开发。

通过使用 DevEco Studio,开发者可以更高效的开发具备 OpenHarmony 分布式能力的应用/服务,进而提升创新效率。

下载地址: 

https://developer.harmonyos.com/cn/develop/deveco-studio#download_beta_openharmony

下载版本:DevEco Studio 3.0 Release

三.环境搭建

3.1 下载安装DevEco Studio

在下载地址里下滑找到历史版本,选择更多版本后找到3.0 Relese,下载对应系统版本。

下载完成后进行安装,安装时不需要特殊配置,大部分选择接受默认配置即可,部分安装路径和个性化可以按需更改。

图片

图片

这里全部勾选即可。

图片

完成后选择第二个,在桌面上启动DevEco Studio。

图片

3.2 配置开发环境

接下来介绍第一次启动DevEco Studio的配置向导:3.2.1 运行已安装的DevEco Studio。

首次使用,请选择Do not import settings,单击OK。3.33.4.5

3.2.2

进入DevEco Studio操作向导页面,修改npm registry,DevEco Studio已预置对应的仓(默认的npm仓,可能出现部分开发者无法访问或访问速度缓慢的情况),直接单击Start using DevEco Studio进入下一步。

说明:如果配置向导界面出现的是设置Set up HTTP Proxy界面,说明网络受限,请根据参考信息配置DevEco Studio代理和NPM代理后,再下载OpenHarmony SDK。

图片

3.2.3

设置Node.js信息,可以指定本地已安装的Node.js(此处安装DevEco版本为3.0,Node.js版本要求为v14.19.1及以上,且低于v15.0.0;对应的npm版本要求为6.14.16及以上,且低于7.0.0版本);如果本地没有合适的版本,可以选择Download按钮,在线下载Node.js。本示例以下载Node.js为例,选择下载源和存储路径后,单击Next进入下一步。

说明:若配置过程中检测到在环境变量中,或在C:\Users\userName目录下有符合要求的Node.js版本,则设置Node.js步骤将自动跳过。

图片

等待Node.js安装完成,然后单击Finish进入下一步。

图片

3.2.4

在SDK Componets Setup界面,设置OpenHarmony SDK下载路径,如果需要开发HarmonyOS应用,请勾选上HarmonyOS SDK,单击Next进入下一步。

说明:OpenHarmony SDK和HarmonyOS SDK不能设置为同一个路径,且路径中不能包含中文字符。

图片

3.2.5

在弹出的SDK下载信息页面,单击Next,并在弹出的License Agreement窗口,阅读License协议,需同意License协议后(若步骤4中勾选了HarmonyOS SDK,需同时接受OpenHarmony SDK和HarmonyOS SDK的License协议),单击Next开始下载SDK。

说明:下载SDK过程中,如果出现下载JS SDK失败,提示“Install Js dependencies failed”,请根据JS SDK安装失败处理指导进行处理。

图片

3.2.6

等待OpenHarmony SDK及工具下载完成,单击Finish,界面会进入到DevEco Studio欢迎页。

四.创建第一个OpenHarmony项目

4.1选择模板

打开 DevEco Studio,选择 Create Project 进入 Choose your ability template,选择 OpenHarmony 下的 Empty Ability 模板。 

DevEco Studio 提供了(HarmonyOs 和 OpenHarmony)两类Template,每个模板都有符合自己应用的场景,其中 Empty Ability 是默认创建的 ets 工程模板。

图片

这里配置默认即可或如图进行调整。

图片

4.2 预览界面

等待项目创建完成,打开/pages/index.ets可以看到代码。点击右侧的Previewer可以预览界面效果。

图片

4.3 增加页面

右键pages文件夹,选择New->Page新建一个页面。

图片

页面初始化设置。

图片

修改’message’字符串和字号,点击右上角刷新,可以看到新的效果。

图片

4.4 增加交互按钮

在第一个页面增加一个按钮,即Button组件,设置文字内容和样式。

导入router模块,即页面跳转接口,监听Button点击事件并跳转到第二个页面。

图片

同理,在第二个页面导入router模块并增加按钮,跳转到第一个页面。

图片

点击预览,即可通过按钮完成页面的跳转。

4.5 在本地真机运行应用/服务

在Phone和Tablet中运行OpenHarmony应用/服务的操作方法一致,可以采用USB连接方式或者IP Connection的连接方式。采用IP Connection连接方式要求Phone/Tablet和PC端在同一个网段,建议将Phone/Tablet和PC连接到同一个WLAN下。

4.6 使用USB连接方式 

【设置】->【系统】->【开发者选项】,打开【USB调试】:

图片

连接后,右上角会出现设备:

图片

4.7 使用IP Connection连接方式 

将Phone/Tablet和PC连接到同一WLAN网络。

获取Phone/Tablet端的IP地址,可通过MobaXterm使用ifconfig wlan0命令查看。

Phone/Tablet上的5555端口为打开状态,默认是关闭状态,可以连接上设备后,先检查是否检测到设备,然后执行如下命令打开。

hdc tmode port 5555

图片

在DevEco Studio菜单栏中,单击Tools>IP Connection,输入连接设备的IP地址,单击 ,连接正常后,设备状态为online。

图片

4.8 签名

在Phone/Tablet中运行应用/服务,需要根据提前对应用/服务进行签名。

选择菜单依次点击 File->Project Struture->Project->default->Signing Configs,勾选上 Automatically generate signing,点击 Apply,可以发现在根目录的 build-profile.json5 中已经生成了 signingConfigs 签名配置。

图片

图片

4.9 运行应用

在菜单栏中,单击Run>Run'模块名称',或使用默认快捷键Shift+F10(macOS为Control+R)运行应用/服务

图片

本机运行结果

图片

图片

至此,我们就完成了第一个小项目。

更多有关OpenHarmony的信息,大家可以到官网查看相关的手册和资料。

OpenHarmony开发者论坛

HarmonyOS应用开发官网 - 华为HarmonyOS打造全场景新服务。

五.常见问题(FAQ)

5.1 在本机运行时产生如下报错

图片

参考解决方案:重新对应用/服务进行签名。

5.2 Node.js下载出错

参考解决方案:下载路径选择空文件夹。

5.3  usb连接识别不到本机

参考解决方案:可以通过hdc list targets指令和烧录工具查看是否识别到设备。如果识别到了设备,可以再去设备管理器检查驱动,检查DevCo Studio环境。如果没有识别到设备,可以尝试重新烧录系统。


http://www.niftyadmin.cn/n/5426680.html

相关文章

开源生态与软件供应链研讨会

✦ 日程安排 开源生态与软件供应链研讨会 时间: 2024年3月12日(星期二)13:30 – 17:00 地点: 复旦大学江湾校区二号交叉学科楼E1021 联系人: 陈碧欢(bhchenfudan.edu.cn) 点击文末“阅读原文”或扫描下方二维码进入报名通…

Redis实现分布式锁源码分析

为什么使用分布式锁 单机环境并发时,使用synchronized或lock接口可以保证线程安全,但它们是jvm层面的锁,分布式环境并发时,100个并发的线程可能来自10个服务节点,那就是跨jvm了。 简单分布式锁实现 SETNX 格式&…

【定向合作计划】学生时期学习资源同步-全栈开发基础学习书单

原创作者:田超凡(程序员田宝宝) 版权所有,引用请注明原作者,严禁复制转载 【定向合作计划】以下为本人在学生时期2015-2017学习全栈开发基础的书单,因为资料太多,外接硬盘一共大概10个T&…

Python XML数据处理库之xmltodict使用详解

概要 在 Python 的开发中,处理 XML 数据是一项常见的任务。然而,Python 标准库中的 XML 解析器使用起来可能较为繁琐,需要编写大量的代码来处理 XML 数据。幸运的是,有一个名为 xmltodict 的第三方库可以帮助我们简化这个过程。本文将深入探讨 xmltodict 库的各个方面,包…

开源导出html表格项目-easyHtml

开源导出html表格项目-easyHtml 背景介绍 背景 项目的由来,在面试的过程中,发现这个需求(导出html表格)比较常见,同时也引起我的兴趣,所以就有了开源项目easyHtml第一个版本 介绍 功能 支持自定义表格标…

【NestJS 编程艺术】3. 探索NestJS的高效开发:nest-cli的全面指南

在现代的 Node.js 服务端开发中,NestJS 以其优雅的架构和强大的功能集成为了开发者的首选框架之一。而这一切的起点,都始于nestjs/cli这个强大的命令行工具。本文将深入探讨nest-cli的核心功能,帮助开发者高效地创建、构建和管理 NestJS 项目…

[企业宣传]江苏地区邀约媒体资源汇总

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 江苏地区拥有丰富的媒体资源,包括电视台、广播电台、报纸、网络媒体等。以下是一些可以邀约的媒体资源汇总: 电视台: 江苏卫视:江苏省唯…

机器学习实验------K-means聚类算法

第1关:计算欧几里得距离 任务描述 本关实现一个函数来计算欧几里得距离。 # -*- coding: utf-8 -*- import numpy as np def euclid_distance(x1, x2):"""计算欧几里得距离参数:x1 - numpy数组x2 - numpy数组返回值:distance - 浮点数…