HarmonyOS开发实战( Beta5.0)DevEco Device Tool开发环境搭建实践

通常在嵌入式开发中,很多开发者习惯于使用Windows进行代码的编辑,比如使用Windows的Visual Studio Code进行OpenHarmony代码的开发。但当前阶段,大部分的开发板源码还不支持在Windows环境下进行编译,如Hi3516、Hi3518系列开发板。因此,需要使用Ubuntu的编译环境对源码进行编译。

在以上的设备开发场景中,可以搭建一套Windows+Ubuntu混合开发的环境,其中使用Windows平台的DevEco Device Tool可视化界面进行相关操作,通过远程连接的方式对接Ubuntu下的DevEco Device Tool(可以不安装Visual Studio Code),然后对Ubuntu下的源码进行开发、编译、烧录等操作。

资源获取与系统要求

开发者可以通过DevEco Device Tool下载地址下载最新版本的Device Tool工具的Windows和Ubuntu双平台的安装软件。

Windows系统
  • Windows 10 或 Windows 11 64位系统。
  • 系统的用户名不能含有中文字符。
Ubuntu系统
  • Ubuntu20.04及以上版本,内存推荐16 GB及以上。
  • 系统的用户名不能含有中文字符。
Ubuntu环境准备

开发者已经预装了Ubuntu20.04,并且可以借助于例如VirtualBox的增强功能、共享文件夹、Samba等途径在Windows和Ubuntu之间的实现文件传输。

Ubuntu Shell环境设置

执行如下命令,查看Ubuntu Shell环境,如下图所示。

ls -l /bin/sh

ubuntu-shell

如果是bash,则不用修改Ubuntu Shell环境,可以略过下面内容进入安装Device Tool工具步骤。

如果输出结果不是bash,请根据将Ubuntu shell修改为bash。

打开终端工具,执行如下命令,输入密码,然后选择No,将Ubuntu shell由dash修改为bash。

sudo dpkg-reconfigure dash

ubuntu-dash-to-bash

安装Device Tool工具

将devicetool-linux-tool-3.0.0.401.zip压缩包拷贝到Ubuntu(或者在Ubuntu中通过网页下载)

进入DevEco Device Tool软件包所在目录,执行如下命令解压软件包,其中devicetool-linux-tool-3.0.0.401.zip为软件包名称,请根据实际进行修改。

unzip devicetool-linux-tool-3.0.0.401.zip

执行如下命令,赋予安装文件可执行权限,其中devicetool-linux-tool-3.0.0.401.sh请根据实际进行修改。

chmod u+x devicetool-linux-tool-3.0.0.401.sh

执行如下命令,安装DevEco Device Tool,根据提示输入临时获取sudo权限的密码,其中devicetool-linux-tool-3.0.0.401.sh请根据实际进行修改。

sudo ./devicetool-linux-tool-3.0.0.401.sh

安装成功如下图所示

ubuntu-install-finish

安装并启动SSH服务
sudo apt-get update
sudo apt-get install openssh-client=1:8.2p1-4
sudo apt-get install openssh-server
sudo systemctl start ssh

Windows环境准备

安装DevEco Device Tool

解压DevEco Device Tool压缩包,双击安装包程序,点击 “ Next ” 进行安装。

  • 设置DevEco Device Tool的安装路径,点击 “ Next ” 。

​ 如果您已安装DevEco Device Tool 历史版本,则在安装新版本时,会先卸载历史版本。

windows-install-path

  • 根据安装向导提示,勾选要自动安装的软件。

在弹出VSCode installation confirm页面,勾选“Install VScode 1.62.2automatically”,点击Next。

如果检测到Visual Studio Code已安装,且版本为1.62及以上,则会跳过该步骤。

windows-install-vscode

  • 在弹出的Python select page选择“Download from Huawei mirror”,点击 “ Next ” 。

如果系统已安装可兼容的Python版本(Python 3.8~3.9版本),可选择“Use one of compatible on your PC” 。

windows-install-python

  • 在以下界面点击Next,进行软件下载和安装。

windows-install-components

  • 等待安装完成

    继续等待DevEco Device Tool安装向导自动安装DevEco Device Tool插件,直至安装完成,点击 “ Finish ”,关闭DevEco Device Tool安装向导。

windows-install-finish

启动Visual Studio Code,会自动进入DevEco Device Tool工具界面。至此,DevEco Device Tool Windows开发环境安装完成。

开发者也可以通过点击Visual Studio Code左侧的DevEco图标,进入DevEco Device Tool工具界面。

deveco-home

Remote-SSH安装及配置
  • 安装Remote-SSH

请点击Visual Studio Code左侧的按钮,搜索Remote-SSH

extension-search-remoteSSH

点击Install进行安装,安装完成后在Visual Studio Code左侧出现的图标

extension-install-remoteSSH

  • 配置Remote-SSH

在Ubuntu中通过 ifconfig 查询IP地址,通过 whoami 获取用户名

如果输入ifconfig无法识别,开发者可以通过 sudo apt-get install net-tools 安装相应的工具

username-ip

点击Visual Studio Code左侧出现的图标,点击➕,在弹出的SSH连接命令输入框中输入“ssh username@ip_address”,其中ip_address为要连接的远程计算机的IP地址,username为登录远程计算机的帐号(通过步骤1方法可查询)。

ssh-1

在弹出的输入框中,选择SSH configuration文件,选择默认的第一选项即可。

ssh-2

在SSH TARGETS中,找到远程计算机,点击,打开远程计算机。

ssh-3

在弹出的输入框中,选择远程计算机的平台,选择默认的第一项即可。

ssh-4

在弹出的输入框中,确认远程计算机的身份认证,选择默认的第一项即可。

ssh-5

在弹出的输入框中,输入远程计算机的密码,回车确认后开始拉取服务器端的.vscode-server压缩包,自动解压放到固定目录下

ssh-7

安装完成后,点击右下角的"Reload Now",在弹出的输入框中输入远程计算机的密码,即可连接到远程计算机,至此安装完成。

reload-to-remoteSSH

remoteSSH-success

  • SSH公钥配置

完成以上流程,可以保证我们实现Remote开发。但是,在使用过程中,会发现系统要求我们填写密码的频率还是十分高的,那么怎么解决这个问题,只在最开始填写一次即可呢?那就是借助SSH key。

生成SSH key【其中,用户名和IP即我们连接时所填】

ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip

ssh-config-1

配置SSH key,在配置文件中,新增SSH key文件【其中,account一般是用户名】

IdentityFile C:/Users/account/.ssh/id_rsa

ssh-config-2

ssh-config-3

最后

小编在之前的鸿蒙系统扫盲中,有很多朋友给我留言,有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)文档用来跟着学习是非常有必要的。 

为了确保高效学习,建议规划清晰的学习路线,涵盖以下关键阶段:

GitCode - 全球开发者的开源社区,开源代码托管平台  希望这一份鸿蒙学习文档能够给大家带来帮助~


鸿蒙(HarmonyOS NEXT)最新学习路线

该路线图包含基础技能、就业必备技能、多媒体技术、六大电商APP、进阶高级技能、实战就业级设备开发,不仅补充了华为官网未涉及的解决方案

路线图适合人群:

IT开发人员:想要拓展职业边界
零基础小白:鸿蒙爱好者,希望从0到1学习,增加一项技能。
技术提升/进阶跳槽:发展瓶颈期,提升职场竞争力,快速掌握鸿蒙技术

2.视频学习教程+学习PDF文档

HarmonyOS Next 最新全套视频教程

  纯血版鸿蒙全套学习文档(面试、文档、全套视频等)       

​​

总结

参与鸿蒙开发,你要先认清适合你的方向,如果是想从事鸿蒙应用开发方向的话,可以参考本文的学习路径,简单来说就是:为了确保高效学习,建议规划清晰的学习路线


http://www.ppmy.cn/news/1521490.html

相关文章

基于智能巡检机器人的算力评估指标及其应用场景分析

随着工业自动化和智能化的发展,智能巡检机器人在各类复杂环境中的应用日益广泛。机器人通常需要在复杂、多变的环境中自主执行任务,如设备检测、数据采集、故障诊断等。为了确保巡检机器人的高效运行,计算能力(算力)的…

数据分析面试常见50个问题及解答要点(五)

为了帮助各位学习数据分析的小伙伴们成功拿到offer!本期给大家整理了一些数据分析面试时的高频问题,分享给大家 数据分析高频面试50题,点击下方链接进行下载完整版,下面展示部分面试题,希望大家积极点赞收藏加关注&…

react自学(6) 部署到tomcat中

1.设置项目名 在package.json文件配置 "homepage": "/myapp"2.设置Router类型 说明:由于本文是写部署tomcat,因此使用HashRouter类型,不然会出现空白;如果使用springboot或在apche/nginx,则可以…

从 ES|QL 到 Python 中的原生 Pandas 数据帧

作者:来自 Elastic Quentin Pradet 自 Elasticsearch 8.15 或 Elasticsearch Serverless 以来,ES|QL 响应支持 Apache Arrow 流式传输格式。这篇博文将向你展示如何在 Python 中利用它。在之前的一篇博文中,我演示了如何使用 CSV 作为中间表示…

win11环境android studio中AVD目录修改问题解决

起始原因是我搭建Android studio 调试一个app时,运行模拟器时 出现“The emulator process for AVD xxx has terminated.”的错误 DEBUG | trying to load skin file D:\android\skins\\pixel_6\layout ERROR | Not enough space to create userdata partition…

STM32 系列MCU 开发利器 STM32CubeIDE

前言 由于自己接触较多的 ARM 系列芯片主要是 STM32 系列的,接触过 STM32 F1、F4、L4、H7 等几个系列,使用的 开发工具,主要是 Keil MDK5、IAR,所以也比较关注开发工具的使用。 Keil MDK5、IAR 属于商用收费的功能强大的IDE&…

Ubuntu服务器时间和本地时间不一致怎么解决——Linux的Local Time和RTC time

最近一直在搞大模型的相关工作,所以一直在用Linux服务器,前面的文章里也提到了,我用的是一台Dell PowerEdge R730xd。 但在使用中发现,IDRAC中的日志时间和本地时间存在时差,大概相关8小时。 对于技术人员&#xff0c…

设计模式 - Singleton pattern 单例模式

文章目录 定义单例模式的实现构成构成UML图 单例模式的六种实现懒汉式-线程不安全懒汉式-线程安全饿汉式-线程安全双重校验锁-线程安全静态内部类实现枚举实现 总结其他设计模式文章:最后 定义 单例模式是一种创建型设计模式,它用来保证一个类只有一个实…

Unity中保存数据的方法

一、概述 Unity中可用于持久化的方式有: 1)通过ScriptableObject在可编辑模式下保存数据 2)通过excel、json等文件实现数据的可持久化 二、ScriptableObject的使用 1、使用背景 假如需要制作子弹预设体,每个子弹上有speed速…

ChatGPT付费创作系统V3.0.6独立版 WEB+H5+小程序端 (新增AI全网搜索+文档解析+豆包AI通道)安装部署教程

播播资源GPT付费体验系统最新版系统是一款基于ThinkPHP框架开发的AI问答小程序,是基于国外很火的ChatGPT进行开发的Ai智能问答小程序。这是一种基于人工智能技术的问答系统,可以实现智能回答用户提出的问题。相比传统的问答系统,ChatGPT可以更…

科研绘图系列:R语言宏基因组堆积图(stacked barplot)

介绍 宏基因组堆积条形图是一种数据可视化工具,用于展示宏基因组数据中不同分类群(如微生物群落中的物种或菌株)的相对丰度。宏基因组学(Metagenomics)是一种研究环境样本中所有生物的遗传物质(DNA和RNA)的科学,不依赖于培养,可以直接从环境样本中提取DNA进行测序。 …

软件测试-Selenium+python自动化测试

目录 会用到谷歌浏览器Chrome测试,需要下载一个Chromedriver(Chrome for Testing availability)对应自己的浏览器版本号选择。 一、元素定位 对html网页中的元素进行定位,同时进行部分操作。 1.1一个简单的模板 from selenium import webdriver from selenium.webdrive…

iOS——atomic、nonatomic、assign、_unsafe_unretain

atomic和nonatomic 在iOS开发中,当你定义一个属性时,编译器会自动为你生成一个带下划线的成员变量(实例变量)以及对应的getter和setter方法。如果你使用atomic修饰这个属性,那么编译器在生成setter和getter方法时&…

图欧科技-IMYAI智能助手24年8月更新日志大汇总(含史诗级更新)

IMYAI史诗级更新 图欧君最近行程排得满满当当 但请各位小伙伴放心 我们的更新步伐从未停歇 而这次我们IMYAI主站也迎来了史诗级升级 一起来看看这个8月 我们又新增了哪些功能和优化吧~ 8.26|更新日志 模型选择界面鼠标悬停左右按钮可以自动滚动(手机端长…

【Linux 从基础到进阶】MongoDB 数据库安装与调优

MongoDB 数据库安装与调优 引言 MongoDB 是一个 NoSQL 类型的文档数据库,因其灵活的 JSON 格式存储、水平扩展能力和强大的查询功能而备受开发者青睐。在处理大规模数据时,MongoDB 提供了极高的性能和可扩展性。本文将介绍如何在 CentOS 和 Ubuntu 上安装 MongoDB,并进行必…

Camelyon16数据集切块批量预处理

参考自: Camelyon16数据集切块预处理 区别是这里做了批量处理 数据集目录格式: ** main.py** # !/usr/bin/python3 # -*- coding: utf-8 -*- # Time : 2024/9/4 20:21 # Author : 猫娜Lisa # File : camelyon16_get_patch.py # Software: PyC…

java 根据给定的子网掩码和网关计算起始IP和结束IP

java 根据给定的子网掩码和网关计算起始IP和结束IP 以下是一个Java工具类,用于根据给定的子网掩码和网关计算起始IP和结束IP。 import java.net.InetAddress; import java.net.UnknownHostException;public class IPUtils {public static void main(String[] args…

力扣-9. 回文数

文章目录 力扣题目代码工程方法1:方法2: 力扣题目 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数 是指正序(从左向右)和倒序(从右向左…

Linux基础网络编程-Socket通信

本文使用C语言,在Centos实现Socket两种通信类型(TCP和UDP) 文章目录 一、安装gcc二、使用TCP协议,实现Socket(SOCKE_STREAM)流式通信1. 编写TCP_server.c函数和参数解释 2.编写TCP_client.c函数和参数解释 3. 编译并运行上述两个文件3.1 编译3.2 运行(启…

MyBatis的动态SQL---组合条件查询与传递集合和数组(超详细)

MyBatis的动态SQL—组合条件查询与传递集合和数组(超详细) 文章目录 MyBatis的动态SQL---组合条件查询与传递集合和数组(超详细)一、 定义二、mybatis提供的几大标签1. if 标签2. choose、when和otherwise标签3. trim标签4. forea…