0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发【设备开发基础知识】

jf_46214456 ? 2024-01-29 18:44 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、设备开发介绍

1. 环境搭建与源码获取

  • 环境搭建

搭建OpenHarmony 的系统环境,需要Windows系统与Ubuntu系统结合使用。

? Windows系统负责烧录、测试、与OpenHarmony在windows系统cmd模式下交互。

? Ubuntu系统负责源码管理、阅读、开发、编译。Ubuntu系统,通过在Windows系统安装虚拟机,配置初始化虚拟机(内存推荐16GB及以上、CPU推荐4核及以上),虚拟机运行安装Ubuntu系统。

  • 源码获取

Ubuntu环境下,更新软件源命令sudo apt-get update。通过sudo apt_get install git git-lfs,安装git客户端与git-lfs,命令 git --version 查看git是否成功。 配置git客户端 。

安装码云repo工具,通过mkdir命令,在固定目录下创建存放repo的文件目录。通过命令 curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o 目录,获取到repo工具。安装配置完成之后,通过一下命令步骤进行OpenHarmony源码获取 。

2. HarmonyOS源码编译

  • 编译环境搭建

Ubuntu环境下,编译OpenHarmony源码之前,必须进行编译环境搭建。通过apt_get和pip3 install命令安装配置编译环境。通过 apt-get update -y 更新软件源。更新成功之后,通过apt-get命令进行OpenHarmony源码编译之前安装配置。

  • 编译命令

成功配置编译环境,Ubuntu环境下,打开CMD命令行窗口,通过cd命令进入HarmonyOS目录下,目录结构如下。

OpenHarmony源码根目录下,通过执行命令 bash build/prebuilts_download.sh 脚本进行预编译,安装编译器及二进制工具,成功提示。

接着执行命令 ./build.sh system_size=standard product_name=harmonyos 编译OpenHarmony源码。./build.sh 同时也支持其他多种参数。

--source-root-dir=SOURCE_ROOT_DIR                 # 指定路径
--product-name=PRODUCT_NAME                       # 指定产品名
--device-name=DEVICE_NAME                         # 指定装置名称
--target-os=TARGET_OS                             # 指定操作系统
-T BUILD_TARGET, --build-target=BUILD_TARGET      # 指定编译目标,可以指定多个

OpenHarmony源码编译成功,OpenHarmony源码根目录下 out/harmonyos/packages/phone/images, Ubuntu环境的终端显示。

#打卡不停更# - OpenHarmony/docs开发入门-鸿蒙开发者社区

  • 编译出错

编译OpenHarmony源码的过程中,可能出现各类问题。以下枚举一些异常情况。

#打卡不停更# - OpenHarmony/docs开发入门-鸿蒙开发者社区
解决方法,通过执行命令 sudo apt install openjdk-11.0.16 修复这个问题。

#打卡不停更# - OpenHarmony/docs开发入门-鸿蒙开发者社区

解决方法,通过执行命令 sudo apt install libtinfo5 修复这个问题。

3. OpenHarmony烧录简介

Ubuntu环境下,编译OpenHarmony源码成功,OpenHarmony镜像文件存放的路径,OpenHarmony源码存放路径/out/harmony/packages/phone/images。Windows环境下使用烧录工具瑞芯微开发工具 v2.84(RKDevTool.exe),烧录OpenHarmony文件到开发版3568。

#打卡不停更# - OpenHarmony/docs开发入门-鸿蒙开发者社区

windows环境下,使用瑞芯微开发工具之前需要安装瑞芯微驱动,打开瑞芯微开发工具,同时通电开发板,插入USB。烧录工具会显示发现一个MASKROM设备。开发板MASKROM模式无法成功烧录系统。开发板需要进入LOADER模式才能成功烧录OpenHarmony系统。如何进入LOADER模式?需要先通过一个牙签按住3568开关,再进行通电,通电之后继续按住3568开关。

#打卡不停更# - OpenHarmony/docs开发入门-鸿蒙开发者社区

烧录工具页面会显示发现一个LOADER设备,放开按住3568的开关。

#打卡不停更# - OpenHarmony/docs开发入门-鸿蒙开发者社区

瑞芯微开发工具里面选择编译成功后生成的OpenHarmony镜像,每一个镜像文件顺序都不能有任何的颠倒。一旦选择镜像文件出现颠倒,烧录的时候很大概率会将3568开发板直接烧坏,导致3568开发板无法使用。正确选择OpenHarmony镜像文件,执行3568开发板烧录。烧录工具会提示烧录是否成功。

#打卡不停更# - OpenHarmony/docs开发入门-鸿蒙开发者社区

4. OpenHarmony测试用例

OpenHarmony为开发者提供了一套全面的自测试框架,开发者可根据测试需求开发相关测试用例。同时开发者也能开发单独测试函数功能的可执行程序。

window模块功能,创建一个cpp文件,内部编写main函数。main函数编写业务逻辑流程。测试用例在源码路径(foundation/windowmanager/snapshot)。

#打卡不停更# - OpenHarmony/docs开发入门-鸿蒙开发者社区

编写BUILD.gn增加编译配置。

#打卡不停更# - OpenHarmony/docs开发入门-鸿蒙开发者社区

cpp目录上层目录下,bundle.json文件增加需要编译的模块。

#打卡不停更# - OpenHarmony/docs开发入门-鸿蒙开发者社区

执行如下命令

./build.sh system_size=standard product_name=harmonyos

生成 snapshot_display,存放目录 out/harmonyos/window/window_manager。

在 snapshot_display 目录下,执行如下命令

hdc file send snapshot_display /system/bin

推送开发板 /system/bin目录。

出现异常提示 [Fail]Error opening file: read-only file system, path:/system/bin/snapshot_display,权限不够。执行命令

hdc shell mount -o remount,rw /

解决权限问题。

设置执行权限 ,执行命令

hdc shell chmod a+x /system/bin/snapshot_display

执行推送到开发板程序snapshot_display。

文件存放开发板的实际路径

5. OpenHarmony源码阅读

推荐使用[DevEco Studio]项目管理工具管理OpenHarmony源码,学习OpenHarmony项目工程的整体目录结构及进行代码阅读,其他项目管理工具请自行选择适合的个人学习的工具。

QQ截图20240128201315.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 鸿蒙系统
    +关注

    关注

    183

    文章

    2642

    浏览量

    68427
  • 鸿蒙
    +关注

    关注

    60

    文章

    2658

    浏览量

    44362
  • OpenHarmony
    +关注

    关注

    30

    文章

    3867

    浏览量

    18987
  • 鸿蒙星河
    +关注

    关注

    0

    文章

    8

    浏览量

    149
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【HarmonyOS 5】金融应用开发鸿蒙组件实践

    原生鸿蒙操作系统星河版,面向开发者开放申请,余承东宣布鸿蒙生态设备数达 8 亿台;建设银行、邮储银行等完成鸿蒙原生应用 Beta 版本
    的头像 发表于 07-11 18:20 ?385次阅读
    【HarmonyOS 5】金融应用<b class='flag-5'>开发</b><b class='flag-5'>鸿蒙</b>组件实践

    开鸿开发板深度体验:从开源鸿蒙开发到AI场景实践

    的KaihongBoard-3588S-SBC和KaihongBoard-3576-SBC被评为“2025OpenHarmony明星开发板”,可实现设备快速开源鸿蒙化升级、分布式互联协同、弹性部署等能力。
    的头像 发表于 07-03 17:03 ?627次阅读
    开鸿<b class='flag-5'>开发</b>板深度体验:从开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>到AI场景实践

    鸿蒙5开发宝藏案例分享---一多开发实例(音乐)

    各位开发者小伙伴们好呀!今天咱们来点硬核干货!最近在鸿蒙文档中心挖到一座“金矿”——官方竟然暗藏了100+实战案例,从分布式架构到交互动效优化应有尽有!这些案例不仅藏着华为工程师的私房技巧,还直接
    的头像 发表于 06-30 11:54 ?409次阅读

    开源鸿蒙开发必备!OpenHarmony替换Full SDK全攻略

    本文介绍开源鸿蒙OpenHarmony替换FullSDK的方法,演示设备为触觉智能PurplePiOH鸿蒙开发板获取FullSD
    的头像 发表于 06-06 18:11 ?359次阅读
    开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>必备!OpenHarmony替换Full SDK全攻略

    DevEco Studio AI辅助开发工具两大升级功能 鸿蒙应用开发效率再提升

    HarmonyOS应用的AI智能辅助开发助手——CodeGenie,该AI助手深度集成在DevEco Studio中,提供鸿蒙知识智能问答、鸿蒙ArkTS代码补全/生成和万能卡片生成等
    发表于 04-18 14:43

    鸿蒙北向开发OpenHarmony5.0 DevEco Studio开发工具安装与配置

    本文介绍OpenHarmony5.0 DevEco Studio开发工具安装与配置,鸿蒙北向开发入门必备!由触觉智能Purple Pi OH鸿蒙开发
    的头像 发表于 03-28 18:05 ?985次阅读
    <b class='flag-5'>鸿蒙</b>北向<b class='flag-5'>开发</b>OpenHarmony5.0 DevEco Studio<b class='flag-5'>开发</b>工具安装与配置

    【北京迅为】iTOP-RK3568开发板OpenHarmony系统南向驱动开发-第4章 UART基础知识

    【北京迅为】iTOP-RK3568开发板OpenHarmony系统南向驱动开发-第4章 UART基础知识
    的头像 发表于 03-17 15:50 ?573次阅读
    【北京迅为】iTOP-RK3568<b class='flag-5'>开发</b>板OpenHarmony系统南向驱动<b class='flag-5'>开发</b>-第4章 UART<b class='flag-5'>基础知识</b>

    【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发GPIO基础知识

    【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发GPIO基础知识
    的头像 发表于 03-06 11:23 ?717次阅读
    【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动<b class='flag-5'>开发</b>GPIO<b class='flag-5'>基础知识</b>

    HarmonyOS 应用开发赋能套件:鸿蒙原生应用开发的 “神助攻”

    HarmonyOS的智能助手,它能够高效理解开发者的自然语言输入,以问答交互的方式提供鸿蒙应用开发的相关知识解答与基础的代码生成工作。   开发
    发表于 02-17 16:37

    鸿蒙北向开发OpenHarmony4.1 DevEco Studio开发工具安装与配置

    OpenHarmony4.1 DevEco Studio开发工具安装与配置,鸿蒙北向开发入门必备!
    的头像 发表于 02-07 17:35 ?945次阅读
    <b class='flag-5'>鸿蒙</b>北向<b class='flag-5'>开发</b>OpenHarmony4.1 DevEco Studio<b class='flag-5'>开发</b>工具安装与配置

    名单公布!【书籍评测活动NO.56】极速探索HarmonyOS NEXT:纯血鸿蒙应用开发实践

    独立生态的国产操作系统。这无疑是一项巨大的进步,也是信息技术国产化道路上的重要里程碑。 本书专为渴望深入探索HarmonyOS NEXT开发的人员打造。本书从ArkUI基础知识入手,系统地介绍了
    发表于 01-20 16:53

    #新年新气象,大家新年快乐!#AIGC入门及鸿蒙入门

    ,基于扩散模型,能够生成与给定文本描述相符的图像。 鸿蒙系统入门 1.基础知识鸿蒙系统(HarmonyOS)是华为推出的一款分布式操作系统,旨在实现跨设备、跨平台的无缝协同体验。
    发表于 01-13 10:46

    AIGC入门及鸿蒙入门

    模型,能够生成与给定文本描述相符的图像。 鸿蒙系统入门 1. 基础知识鸿蒙系统(HarmonyOS)是华为推出的一款分布式操作系统,旨在实现跨设备、跨平台的无缝协同体验。
    发表于 01-13 10:32

    鸿蒙机器人与鸿蒙开发板联动演示

    鸿蒙机器人与鸿蒙开发板联动演示,机器人的角色为迎宾机器人,开发板负责人宾客出现监听
    发表于 12-02 14:55

    鸿蒙Flutter实战:07混合开发

    # 鸿蒙Flutter实战:混合开发 鸿蒙Flutter混合开发主要有两种形式。 ## 1.基于har 将flutter module打包成har包,在原生
    发表于 10-23 16:00