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

Flutter鸿蒙化环境配置(windows)

Flutter鸿蒙化环境配置(windows)

  • 参考资料
  • Window配置Flutter的鸿蒙化环境
    • 下载
    • 配置环境变量
      • HarmonyOS的环境变量配置
      • 配置Flutter的环境变量
      • Flutter doctor -v 检测的问题
        • flutter_flutter仓库地址的警告问题
        • Fliutter doctor –v 报错[!] Android Studio (version 2024.1)✗ Unable to find bundled Java version.
    • Windows上配置环境问题
      • Hvigor Error : BUILD unable to find “DEVECO_SDK_HOME” in the environment path
      • Hvigor depends on the npmrc file configure the npmrc file
      • 404 GET https://registry.npm.js.org/xxxx not found
      • 云桌面无法检测到真机设备的问题
      • 执行flutter build hap xxx 报 java ENOENT
      • flutter_flutter配置文档上的SDk的问题
      • Flutter鸿蒙化对JDK的版本要求
    • Mac上环境配置问题集
      • 如何配置hdc的路径

参考资料

Flutter SDK 环境的配置参考相 flutter官网(https://docs.flutter.dev/get-started/install)

Flutter鸿蒙化相关参考文档: https://gitee.com/openharmony-sig/flutter_flutter/tree/dev/

注意: 目前Flutter项目鸿蒙化,FlutterSDK的版本只支持3.7.12, Dart支持的版本是2.19.6

Window配置Flutter的鸿蒙化环境

如果是MAC电脑的话, 直接参考上述参考资料配置环境。

下载

  1. 首先我们需要下载HarmonyOS的套件,并安装相关的编译工具
  2. 2、 通过代码工具包下载当前仓库代码 git clone https://gitee.com/openharmony-sig/flutter_flutter.git, 并切换到dev分支

配置环境变量

HarmonyOS的环境变量配置

首先我们需要配置harmonyos中的node、ohpm、hvigor、hdc的环境变量, node、ohpm、hvigor这三个都在DevEco Studio软件安装的tools文件加下, 而hdc则是在sdk\HarmonyOS-NEXT-DB1\openharmony\toolchains 目录下。配置环境变量如下图:

在这里插入图片描述
同时我们还需要在系统环境变量中增加 HOS_SDK_HOME 也就是harmonyos的SDK的路径

在这里插入图片描述

配置Flutter的环境变量

在这里插入图片描述
注意:如果你之前有下载官方的FlutterSDK,那么这里配置的flutter_flutter的环境变量一定要在你自己下载的flutterSDK的环境变量之前(flutter_windows_3.7.12-stable\flutter\bin), 如果顺序发生调换, 你在使用flutter doctor –v检测环境时, 无法出现 HarmonyOS 的环境标志

除上述之外,我们还需在系统环境变量中配置一下几个环境变量:PUB_HOSTED_URL = https://pub.flutter-io.cn
在这里插入图片描述
FLUTTER_STORAGE_BASE_URL=https://flutter-ohos.obs.cn-south-1.myhuaweicloud.com
在这里插入图片描述
使用Flutter doctor –v 检测环境

环境检测通过示例,如下图:
在这里插入图片描述

Flutter doctor -v 检测的问题

flutter_flutter仓库地址的警告问题

在这里插入图片描述
解决方案:

在系统变量中增加如下环境变量即可解决

FLUTTER_GIT_URL=https://gitee.com/openharmony-sig/flutter_flutter.git

在这里插入图片描述

Fliutter doctor –v 报错[!] Android Studio (version 2024.1)✗ Unable to find bundled Java version.

在这里插入图片描述

  1. 首先进入android studio工具的安装目录
  2. 目录中没有jre目录, 你需要创建一个jre文件夹
  3. 然后把jbr目录中的所有内容复制到jre文件中

Windows上配置环境问题

Hvigor Error : BUILD unable to find “DEVECO_SDK_HOME” in the environment path

解决方案:
我们需要再系统环境变量中配置以下这个环境变量:
在这里插入图片描述

Hvigor depends on the npmrc file configure the npmrc file

在这里插入图片描述
原因: 是没有配置.npmrc文件
解决方案:需要该文件存在C盘当前用户目录(示例:C:\Users\issuser)下创建这个文件, 文件的内容是华为npm仓库的地址

在这里插入图片描述

404 GET https://registry.npm.js.org/xxxx not found

在这里插入图片描述
解决方案:
需要再.npmrc文件中配置下npm的仓库:

registry=https://repo.huaweicloud.com/repository/npm/
@ohos:registry=https://repo.harmonyos.com/npm/

注意:为什么有的需要配置这个,有的不需要配置,是因为有些库只发布到了https://repo.harmonyos.com/npm/

云桌面无法检测到真机设备的问题

  1. 首先验证云桌面和本地是否在同一网段,可以在云桌面ping 本机的ip地址
  2. 可以参考文档,使用hdc远程连接到设备: https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.md/#hdc-client%E5%A6%82%E4%BD%95%E8%BF%9C%E7%A8%8B%E8%AE%BF%E9%97%AEhdc-server
  3. 其次本地和云桌面需要配置hdc的环境配置变量
    在这里插入图片描述
  4. 注意:Hdc 在sdk的 D:\ProgrameFile\HuaWei\DevEco Studio\sdk\HarmonyOS-NEXT-DB1\openharmony\toolchains,
    D:\ProgrameFile\HuaWei\DevEco Studio:这个示例路劲是指你DevEco Studio的安装包的路径

在这里插入图片描述
在这里插入图片描述

执行flutter build hap xxx 报 java ENOENT

在这里插入图片描述
解决方案:
需要安装openjdk17的环境, 并设置好环境变量, 然后在次执行flutter build指令 即可,Jdk17的安装参考地址

flutter_flutter配置文档上的SDk的问题

在这里插入图片描述
这个问题是以前就版本才需要执行的,目前IDE一体化之后就不需要了(IDE 版本5.1.3.300及之后的版本都不在需要执行这个指令。)

Flutter鸿蒙化对JDK的版本要求

  1. 建议使用JDK的版本是 openjdk17的版本
  2. 经验证jdk22的版本是会报错
  3. 至于jdk17以上到22之间的版本, 华为技术回复:
    在这里插入图片描述
    注意:如果需要确切的知道有没有适配, 可能需要找对应的技术人确认

Mac上环境配置问题集

如何配置hdc的路径

  1. vim ~/.zshrc
  2. 增加如下export PATH=${PATH}:/Users/用户名/Library/Huawei/Sdk/openharmony/版本/toolchains
  3. source ~/.zshrc
  4. hdc version 查看版本如下就可以了

相关文章:

Flutter鸿蒙化环境配置(windows)

Flutter鸿蒙化环境配置(windows) 参考资料Window配置Flutter的鸿蒙化环境下载配置环境变量HarmonyOS的环境变量配置配置Flutter的环境变量Flutter doctor -v 检测的问题flutter_flutter仓库地址的警告问题Fliutter doctor –v 报错[!] Android Studio (v…...

Vue入门之生命周期

文章目录 一、Vue 生命周期概述二、生命周期的四个阶段1. 创建阶段2. 挂载阶段3. 更新阶段4. 销毁阶段 三、代码案例四、总结 在 Vue 开发中,理解生命周期是非常重要的。Vue 的生命周期可以帮助我们在不同的阶段执行特定的逻辑,从而更好地控制组件的行为…...

UNI-SOP应用场景(1)- 纯前端预开发

在平时新项目开发中,前端小伙伴是否有这样的经历,hi,后端小伙伴们,系统啥时候能登录,啥时候能联调了,这是时候往往得到的回答就是,再等等,我们正在搭建系统呢,似曾相识的…...

力扣9.23

1014. 最佳观光组合 给你一个正整数数组 values&#xff0c;其中 values[i] 表示第 i 个观光景点的评分&#xff0c;并且两个景点 i 和 j 之间的 距离 为 j - i。 一对景点&#xff08;i < j&#xff09;组成的观光组合的得分为 values[i] values[j] i - j &#xff0c;…...

[Redis][事务]详细讲解

目录 0.什么是事务&#xff1f;1.Redis 事务本质2.Redis 事务意义3.事务操作1.MULTI2.EXEC3.DISCARD4.WATCH5.UNWATCH 0.什么是事务&#xff1f; Redis的事务和MySQL的事务概念上是类似的&#xff0c;都是把一系列操作绑定成一组&#xff0c;让这一组能够批量执行Redis事务和M…...

Latex——一行的划线 如何分开

代码&#xff1a; \cmidrule(r){3-4} \cmidrule(r){5-6} \cmidrule(r){7-8}效果&#xff1a; 参考文章&#xff1a; LaTeX技巧653&#xff1a;如何隔开LaTeX表格邻近\cline表格线&#xff1f;...

大数据:快速入门Scala+Flink

一、什么是Scala Scala 是一种多范式编程语言&#xff0c;它结合了面向对象编程和函数式编程的特性。Scala 这个名字是“可扩展语言”&#xff08;Scalable Language&#xff09;的缩写&#xff0c;意味着它被设计为能够适应不同规模的项目&#xff0c;从小型脚本到大型分布式…...

侧边菜单的展开和折叠

环境准备&#xff1a;Vue3Element-UI Plus <script setup> import {ref} from "vue";// 是否折叠菜单&#xff0c;默认折叠 const isCollapse ref(true)</script><template><el-container><el-aside><el-menu:collapse"isCo…...

自动化办公-Python中的for循环

for 循环是 Python 中用于迭代&#xff08;遍历&#xff09;序列&#xff08;如列表、元组、字典、集合、字符串&#xff09;或其他可迭代对象的控制结构。它允许您逐一访问序列中的每个元素&#xff0c;并对其执行操作。以下是对 for 循环的详细介绍&#xff0c;包括语法、使用…...

Python_itertools

itertools itertools.count(start, step) 返回一个无限迭代器&#xff0c;从指定的start开始&#xff0c;每次增加step。 import itertools # 从1开始&#xff0c;每次增加1&#xff0c;输出前5个数 for i in itertools.count(1, 1):if i > 5:breakprint(i)运行结果&#…...

Apache Iceberg 数据类型参考表

Apache Iceberg 概述-链接 Apache Iceberg 数据类型参考表 数据类型描述实例方法注意事项BOOLEAN布尔类型&#xff0c;表示真或假true, false用于条件判断&#xff0c;例如 WHERE is_active true。确保逻辑条件的正确性。INTEGER32位有符号整数42, -7可用于计算、聚合&#xf…...

职责链模式

职责链模式 责任链&#xff08;Chain of Responsibility&#xff09;模式&#xff1a;为了避免请求发送者与多个请求处理者耦合在一起&#xff0c;于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链&#xff1b;当有请求发生时&#xff0c;可将请求沿着这…...

新品 | Teledyne FLIR IIS 推出Forge 1GigE SWIR 短波红外工业相机系列

近日&#xff0c;51camera的合作伙伴Teledyne FLIR IIS推出了新品Forge 1GigE SWIR 130万像素的红外相机。 Forge 1GigE SWIR系列的首款相机配备宽频带、高灵敏度的Sony SenSWIR™️ 130万像素IMX990 InGaAs传感器。这款先进的传感器采用5um像素捕捉可见光和SWIR光谱&#xff…...

深入MySQL:掌握索引、事务、视图、存储过程与性能优化

在掌握了MySQL的基本操作之后&#xff0c;你可能会遇到更复杂的数据管理和优化需求。本文将介绍一些MySQL的进阶特性&#xff0c;包括索引、事务、视图、存储过程和函数、以及性能优化等内容。通过学习这些高级功能&#xff0c;你可以更高效地管理和优化你的数据库。 索引 索…...

【WSL——Windows 上使用 Linux 环境】

引入 以前在windows上使用linux工具链&#xff0c;一般都要安装虚拟机&#xff08;VMware/virtualBox)。虚拟机的缺点是&#xff0c;因为是完整的虚拟环境&#xff0c;消耗系统资源比较多。 windows自己开发了WSL功能&#xff0c;实现了虚拟机的功能&#xff0c;但是比虚拟机性…...

Redis:事务

什么是Redis事务 Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令&#xff0c;一个事务中所有命令都会被序列化。在事务执行过程&#xff0c;会按照顺序串行化执行队列中的命令&#xff0c;其他客户端提交的命令请求不会插入到事务执行命令序列中。 总结说&…...

策略模式的介绍和具体实现

❤ 作者主页&#xff1a;李奕赫揍小邰的博客 ❀ 个人介绍&#xff1a;大家好&#xff0c;我是李奕赫&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 记得点赞、收藏、评论⭐️⭐️⭐️ &#x1f4e3; 认真学习!!!&#x1f389;&#x1f389; 文章目录 策略接口三种…...

MySQL InnoDB MVCC数据结构分析

1、概述 MVCC&#xff08;Multiversion Concurrency Control&#xff09;多版本并发控制&#xff0c;通过维护不同的版本号&#xff0c;提供一种很好的并发控制技术&#xff0c;这种技术能够使读写操作不冲突&#xff0c;提升并发性能。 MySQL InnoDB存储引擎&#xff0c;在更…...

MySQL 8 查看 SQL 语句的执行进度

目录 1. 查询各阶段执行进度 &#xff08;1&#xff09;开启收集与统计汇总执行阶段信息的功能 &#xff08;2&#xff09;确定执行的SQL所属的thread_id &#xff08;3&#xff09;查询各阶段的执行进度 2. 查询SQL语句的整体执行进度 1. 查询各阶段执行进度 &#xff0…...

OpenStack 部署实践与原理解析 - Ubuntu 22.04 部署 (DevStack)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言OpenStack 原理详解1. OpenStack 的架构2. OpenStack 的工作原理3. OpenStack 的 API4. 扩展性和模块化 OpenStack 安装方式比较1. DevStack2. Kolla3. OpenSta…...

收藏 | 阿里字节开源Agent框架大比拼:小白程序员必看,三种思路助你入门大模型!

本文对比了阿里和字节开源的HiClaw、CoPaw和DeerFlow三个Agent框架&#xff0c;分析了它们在架构设计、安全模型和适用场景上的差异。HiClaw侧重多Agent协作&#xff0c;CoPaw聚焦个人AI助手&#xff0c;DeerFlow强调单Agent深度任务处理。文章还探讨了阿里组合拳与字节单点突破…...

10.JVM-垃圾回收器

Serial 与 Serial Old核心特征&#xff1a;单线程、Stop The World (STW)。工作机制&#xff1a;它们在进行垃圾回收时&#xff0c;必须暂停所有其他的工作线程&#xff0c;直到它收集结束。Serial&#xff1a;新生代&#xff0c;采用标记-复制算法。Serial Old&#xff1a;老年…...

一加手机Root后玩机指南:用Magisk Delta模块实现这些实用功能(附模块推荐)

一加手机Root后进阶玩法&#xff1a;Magisk Delta模块实战指南 当你成功为一加手机解锁BL并获取Root权限后&#xff0c;真正的玩机之旅才刚刚开始。作为一款以极客精神著称的品牌&#xff0c;一加手机在Root后的可玩性远超普通设备。本文将聚焦Magisk Delta这一强大工具&#x…...

美图靠AI一年收入38亿,不靠免费大模型API,靠的是什么?

财报数据显示&#xff0c;美图2025年全年实现营业收入38.6亿元&#xff0c;同比大幅增长28.8%&#xff0c;整体营收规模再创新高&#xff0c;展现出核心业务的强劲增长韧性。不过公司常规账面净利润为7亿元&#xff0c;同比下降12.7%&#xff0c;看似利润下滑的背后&#xff0c…...

Unity坐标系实战解析:从localPosition到Position的层级关系与应用场景

1. 理解Unity中的坐标系基础 在Unity开发中&#xff0c;坐标系系统是构建3D世界的基石。很多新手开发者容易混淆localPosition和Position的概念&#xff0c;导致物体位置控制出现各种"灵异现象"。我们先从一个生活场景来理解&#xff1a;想象你站在客厅里&#xff08…...

C# WebSocket实战:5分钟搞定实时聊天应用(附完整源码)

C# WebSocket实战&#xff1a;5分钟构建高可靠实时聊天系统 实时通信已成为现代应用的核心需求之一。想象一下&#xff0c;当用户发送消息时&#xff0c;对方能立即看到&#xff1b;当股票价格波动时&#xff0c;交易界面实时更新&#xff1b;当多人协作编辑文档时&#xff0c;…...

在PC上畅玩Switch游戏:Ryujinx模拟器完全指南

在PC上畅玩Switch游戏&#xff1a;Ryujinx模拟器完全指南 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 想在电脑上体验《塞尔达传说&#xff1a;旷野之息》的震撼冒险&#xff0c;或…...

SDMatte模型API接口安全设计:防止恶意调用与资源滥用

SDMatte模型API接口安全设计&#xff1a;防止恶意调用与资源滥用 1. 引言&#xff1a;API安全的重要性 在将SDMatte模型部署为公开API服务时&#xff0c;安全防护是首要考虑的问题。我们曾遇到一个真实案例&#xff1a;某图像处理API上线一周内&#xff0c;由于缺乏防护措施&…...

Phi-4-mini-reasoning+ollama打造教育AI助手:中小学奥数题自动解析案例

Phi-4-mini-reasoningollama打造教育AI助手&#xff1a;中小学奥数题自动解析案例 1. 为什么需要教育AI助手&#xff1f; 中小学奥数题解析一直是家长和老师的痛点。传统方式需要专业老师一对一辅导&#xff0c;成本高且效率低。很多家长自己也不会解题&#xff0c;辅导孩子作…...

模型安全实践:实时手机检测-通用输入图像异常检测(模糊/过曝/裁剪)

模型安全实践&#xff1a;实时手机检测-通用输入图像异常检测&#xff08;模糊/过曝/裁剪&#xff09; 1. 项目简介与核心价值 在日常的手机检测应用中&#xff0c;我们经常会遇到各种图像质量问题&#xff1a;图片模糊看不清手机细节、光线过曝导致手机轮廓丢失、或者图片被…...