鸿蒙OpenHarmony:【常见编译问题和解决方法】

常见问题

常见编译问题和解决方法

鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。

提示“usr/sbin/ninja: invalid option -- w”

  • 现象描述:  编译失败,提示“usr/sbin/ninja: invalid option -- w”。
  • 可能原因:  编译环境中ninja版本太低,不支持--w选项。
  • 解决办法:  卸载环境中ninja和gn,按照[获取工具]。

提示“/usr/bin/ld: cannot find -lncurses”

  • 现象描述:  编译失败,提示“/usr/bin/ld: cannot find -lncurses”。
  • 可能原因:  编译环境ncurses库缺失。
  • 解决办法:

    sudo apt-get install lib32ncurses5-dev

提示“line 77: mcopy: command not found”

  • 现象描述:  编译失败,提示“line 77: mcopy: command not found”。
  • 可能原因:  编译环境未安装mcopy。
  • 解决办法:

    sudo apt-get install dosfstools mtools

提示“riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory”

  • 现象描述:  编译失败,提示“riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory”。
  • 可能原因:  当前用户对riscv编译器路径下的文件访问权限不够。
  • 解决办法:  查询gcc_riscv32所在目录。

    which riscv32-unknown-elf-gcc

    使用chmod命令修改目录权限为755。

提示“No module named 'Crypto'”

  • 现象描述:  编译失败,提示“No module named 'Crypto'”。
  • 可能原因:  python3未安装Crypto。
  • 解决办法:

    1. 查询Python版本号。

      python3 --version
    2. 需使用python3.9.2以上版本,然后安装pycryptodome。

      sudo pip3 install pycryptodome

提示“xx.sh : xx unexpected operator”

  • 现象描述:  编译失败:“xx.sh [: xx unexpected operator”。
  • 可能原因:  编译环境shell不是bash。
  • 解决办法:

    sudo rm -rf /bin/sh
    sudo ln -s /bin/bash /bin/sh

提示“some services are not authenticated. Listed as follow”

  • 现象描述:  编译失败:“some services are not authenticated. Listed as follow”。
  • 可能原因:  报错中列举出来的进程.cfg配置文件中,定义了uid为root或system,而该进程并不在产品定义的高权限进程允许范围内。
  • 解决办法:

    1. 降低进程的权限等级。修改.cfg配置文件中的uid定义,非必需的场景下,不要定义uid为root或system。

      如果由于实现业务功能需要,进程必须要有root或system权限,只有在联系安全专家评审,通过安全审视后,方可修改产品的高权限进程管控列表,配置文件路径为"vendor/{公司名称}/{产品名称}/security_config/high_privilege_process_list.json"。

      示例:rk3586的高权限进程配置文件位于//vendor/hihope/rk3568/security_config/high_privilege_process_list.json

提示“Error: some services do not match with critical whitelist”

  • 现象描述:  编译失败:“Error: some services do not match with critical whitelist”。
  • 可能原因:  报错中列举出来的进程.cfg配置文件中,定义并使能了critical字段,而该进程未被允许添加critical字段,或该字段配置与白名单中不符。
  • 解决办法:

    移除进程的critical字段或把critical字段第一位置0。修改原服务.cfg配置文件中的critical字段,非必需的场景下,不要使能critical字段。

    关于critical字段的详细使用方法,请参考服务配置。如果由于实现业务功能需要,进程必须要使能critical字段,只有在联系安全专家评审,通过安全审视后,方可修改产品的critical_reboot进程管控白名单//vendor/{公司名称}/{产品名称}/security_config/critical_reboot_process_list.json

    示例:rk3586的critical_reboot进程管控白名单为//vendor/hihope/rk3568/security_config/critical_reboot_process_list.json

鸿蒙开发岗位需要掌握那些核心要领?

目前还有很多小伙伴不知道要学习哪些鸿蒙技术?不知道重点掌握哪些?为了避免学习时频繁踩坑,最终浪费大量时间的。

自己学习时必须要有一份实用的鸿蒙(Harmony NEXT)资料非常有必要。 这里我推荐,根据鸿蒙开发官网梳理与华为内部人员的分享总结出的开发文档。内容包含了:【ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。

废话就不多说了,接下来好好看下这份资料。

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。鸿蒙OpenHarmony知识←前往。下面是鸿蒙开发的学习路线图。

针对鸿蒙成长路线打造的鸿蒙学习文档。鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。

其中内容包含:

《鸿蒙开发基础》鸿蒙OpenHarmony知识←前往

  1. ArkTS语言
  2. 安装DevEco Studio
  3. 运用你的第一个ArkTS应用
  4. ArkUI声明式UI开发
  5. .……

《鸿蒙开发进阶》鸿蒙OpenHarmony知识←前往

  1. Stage模型入门
  2. 网络管理
  3. 数据管理
  4. 电话服务
  5. 分布式应用开发
  6. 通知与窗口管理
  7. 多媒体技术
  8. 安全技能
  9. 任务管理
  10. WebGL
  11. 国际化开发
  12. 应用测试
  13. DFX面向未来设计
  14. 鸿蒙系统移植和裁剪定制
  15. ……

《鸿蒙开发实战》鸿蒙OpenHarmony知识←前往

  1. ArkTS实践
  2. UIAbility应用
  3. 网络案例
  4. ……

最后

鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!

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

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

相关文章

设备二维码怎么生成?三分钟即可搞定

在现代工业生产中,设备的维护和巡检是保障生产连续性和安全性的重要环节。随着技术的发展,二维码技术因其便捷性和高效性被广泛应用于设备巡检中。 给每个设备配备一个二维码,一线人员用手机扫一扫,几秒钟就能上报巡检结果&#…

Measurement and Analysis of Large-Scale Network File System Workloads——论文泛读

ATC 2008 Paper 分布式元数据论文阅读笔记整理 问题 网络文件系统在当今的数据存储中发挥着越来越重要的作用。使用网络文件系统可以降低管理成本,从多个位置可靠地访问的数据。这些系统的设计通常以对文件系统工作负载和用户行为的理解为指导[12,19&a…

docker 容器无法直接读取宿主机文件

最近一个需求, 要在后端直接使用代码直接生成 pdf 文档, 由于使用的 apache 的工具包, 该工具包无法直接解析中文字体, 需要导入外部 中文插件包, 相关代码如下: PDPage page new PDPage(PDRectangle.A4);document.addPage(page);PDFont fontFile PDType0Font.load(document…

瑞友天翼应用虚拟化系统SQL注入漏洞

文章目录 漏洞描述漏洞原理影响版本漏洞复现防御方法 漏洞描述 瑞友天翼应用虚拟化系统是基于服务器计算架构的应用虚拟化平台,它将用户各种应用软件集中部署到瑞友天翼服务集群,客户端通过 WEB 即可访问经服务器上授权的应用软件,实现集中应…

Python中的多进程、多线程、协程

Python中的多线程、多进程、协程 一、概述 1. 多线程Thread (threading): 优点:同一个进程中可以启动多个线程,充分利用IO时,cpu进行等待的时间缺点:相对于进程,多线程只能并发执…

深入理解JavaScript数组

深入理解JavaScript数组:玩转数据结构 前言数组的基础知识什么是数组如何创建一个数组如何访问数组元素 数组的常用操作数组的长度 length更改数组项数组的遍历数组类型的检测数组的添加和删除元素(头尾操作 push()、pop()、unshift()、shift()&#xff…

enable_shared_from_this使用笔记

解决了&#xff1a; 不能通过原指针增加引用次数的问题 &#xff0c;通过weak_ptr实现。 class MyCar:public std::enable_shared_from_this<MyCar> { public:~MyCar() { std::cout << "free ~Mycar()" << std::endl; } };int main() { MyCar* _…

centos7下fastdfs分布式部署

需要先在159及120服务器上安装fastdfs服务 可参考&#xff1a;centos7部署FastDFS服务_centos fastdfs 增加到服务中-CSDN博客 1、整体架构&#xff0c;使用3个服务器节点&#xff0c;其中两台为跟踪器节点及存储节点&#xff0c;一台服务器搭建nginx做统一入口进行负载均衡 …

K8S安装并搭建集群

1. 先给每台机器安装docker环境 卸载旧的docker yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 配置docker的yum库 yum install -y yum-utilsyum-config-manager --a…

JavaEE之线程(3)_线程的开始、中断、等待、休眠线程、线程的状态

前言 在本栏的上一节&#xff08;https://blog.csdn.net/2301_80653026/article/details/138500558&#xff09;&#xff0c;我们重点讲解了五种不同的创建线程的方式&#xff0c;我们还介绍了Tread类的常见构造方法和常见属性&#xff0c;在这一节中我们将会继续介绍Tread类。…

简单的Python HTML 输出

1、问题背景 一名初学者在尝试将 Python 脚本输出到网页上时遇到了一些问题。他当前使用 Python 和 HTML 进行开发&#xff0c;并且遇到了以下问题&#xff1a; 担心自己的代码过于复杂&#xff0c;尤其是 WebOutput() 函数。希望通过 JavaScript 使用 HTML 模板文件更新数据。…

【PG数据库】PostgreSQL 日志归档详细操作流程

1.1 日志归档的目的 pg数据库日志归档是将PostgreSQL数据库的日志文件进行归档的过程。 归档的主要目的是为了保留历史数据&#xff0c;确保数据的一致性和完整性&#xff0c;同时为数据恢复提供必要的支持。 pg数据库日志归档的目的包括&#xff1a; 1.数据恢复&#xff1…

Tomcat中服务启动失败,如何查看启动失败日志?

1. 查看 localhost.log 这个日志文件通常包含有关特定 web 应用的详细错误信息。运行以下命令查看 localhost.log 中的错误&#xff1a; sudo tail -n 100 /opt/tomcat/latest/logs/localhost.YYYY-MM-DD.log请替换 YYYY-MM-DD 为当前日期&#xff0c;或选择最近的日志文件日…

【打工日常】云原生之搭建一款轻量级的开源Markdown笔记工具

一、flatnotes介绍 1.flatnotes简介 一个自托管的&#xff0c;无数据库的笔记网络应用程序&#xff0c;利用平面文件夹的markdown文件进行存储。 2.项目特点 A.干净简单的用户界面B.响应式移动端界面C.原生/所见即所得Markdown编辑模式D.高级搜索功能E.笔记“标签”功能F.…

Java入门基础学习笔记12——变量详解

变量详解&#xff1a; 变量里的数据在计算机中的存储原理。 二进制&#xff1a; 只有0和1&#xff0c; 按照逢2进1的方式表示数据。 十进制转二进制的算法&#xff1a; 除二取余法。 6是110 13是1101 计算机中表示数据的最小单元&#xff1a;一个字节&#xff08;byte&…

【mysql篇】执行delete删除大量数据后,磁盘未清空,为什么?

目录 迁移脚本删除数据以及备份数据 解决方法OPTIMIZE TABLE二进制日志按月生成数据 最近某个项目虽说用户量不大&#xff0c;但是&#xff0c;单表的数据量越来越大&#xff0c;mysql一般单表超过千万级别后&#xff0c;性能直线下降&#xff0c;所以利用shardingphere按月做了…

用python进行接口测试(详细教程)

前言 其实我觉得接口测试很简单&#xff0c;比一般的功能测试还简单&#xff0c;现在找工作好多公司都要求有接口测试经验&#xff0c;也有好多人问我什么是接口测试&#xff0c;本着不懂也要装懂的态度&#xff0c;我会说&#xff1a;所谓接口测试就是通过测试不同情况下的入…

mac内存不足怎么清理?有哪些免费的软件工具?

当你的mac电脑使用一段时间之后&#xff0c;你可能就会发现&#xff0c;原本非常流畅的运行开始出现卡顿的现象&#xff0c;此时正是mac内存不足的外在表现。可mac内存不足怎么清理呢&#xff0c;别急&#xff0c;清理内存的方式方法有很多&#xff0c;小编将结合实际情况给大家…

免费实用在线AI工具集合

免费在线工具 https://orcc.online/ 在线录屏 https://orcc.online/recorder pdf在线免费转word文档 https://orcc.online/pdf 时间戳转换 https://orcc.online/timestamp Base64 编码解码 https://orcc.online/base64 URL 编码解码 https://orcc.online/url Hash(MD5/SHA…

网络安全专业岗位详解+自学学习路线图

很多网安专业同学一到毕业就开始迷茫&#xff0c;不知道自己能去做哪些行业&#xff1f;其实网络安全岗位还是蛮多的&#xff0c;下面我会介绍一些网络安全岗位&#xff0c;大家可以根据自身能力与喜好决定放哪个方向发展。 渗透测试/Web安全工程师 主要是模拟黑客攻击&#…