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

    浏览量

    70106
  • 鸿蒙
    +关注

    关注

    60

    文章

    3014

    浏览量

    46161
  • OpenHarmony
    +关注

    关注

    33

    文章

    3971

    浏览量

    21341
  • 鸿蒙星河
    +关注

    关注

    0

    文章

    8

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    正式招生!2026年企业“开源鸿蒙南向设备开发”培训班启动

    ”)组织本次开源鸿蒙南向设备开发培训班。本次培训依托双方共建的“深圳开源鸿蒙开发者培训基地”,旨在让更多的企业人员了解开源
    的头像 发表于 03-16 18:10 630次阅读
    正式招生!2026年企业“开源<b class='flag-5'>鸿蒙</b>南向<b class='flag-5'>设备</b><b class='flag-5'>开发</b>”培训班启动

    报名开启!2026年开源鸿蒙“北向应用”与“南向设备开发研修班等你加入!

    为深化校企合作,推动开源鸿蒙(OpenHarmony)技术发展,促进高校教师掌握开源鸿蒙北向应用开发和南向设备开发的前沿技术与教学实践方法,
    的头像 发表于 01-08 17:24 1373次阅读
    报名开启!2026年开源<b class='flag-5'>鸿蒙</b>“北向应用”与“南向<b class='flag-5'>设备</b>”<b class='flag-5'>开发</b>研修班等你加入!

    性能跃迁,鸿蒙开发新纪元!凌羽派RK3566鸿蒙开发板,开启全场景开发之旅

    【导语】还在为鸿蒙开发寻找强劲、稳定、高效的硬件平台?凌羽派RK3566鸿蒙开发板震撼登场!集高性能、全接口、强生态于一身,专为鸿蒙
    的头像 发表于 12-11 17:58 2631次阅读
    性能跃迁,<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>新纪元!凌羽派RK3566<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>板,开启全场景<b class='flag-5'>开发</b>之旅

    Linux驱动开发的必备知识

    内核基础知识: 1、熟悉 Linux 内核的架构、模块系统、进程管理、内存管理等。 了解内核的编译和加载过程。 2、C编程技能: 精通 C 语言编程,包括指针操作、内存管理、结构体等
    发表于 12-04 07:58

    如何申请鸿蒙开发板?想体验鸿蒙生态。

    如何申请鸿蒙开发板?想体验鸿蒙生态。
    发表于 11-29 08:34

    2025开源鸿蒙开发者激励计划正式启动

    11月21日,2025开放原子开发者大会盛大启幕,聚焦“AI共智,开源共享”主题,吸引了来自全球的开发者、企业技术领袖、社区维护者及高校科研力量参会。作为大会的重要组成部分,开源鸿蒙技术分论坛同期
    的头像 发表于 11-27 14:44 800次阅读

    RK 平台 Vendor Storage 开发指南:基础知识、流程与实用技巧

    备可靠性校验、掉电恢复等关键特性,是保障设备身份标识、功能授权等核心信息安全的重要组件。本文将从基础知识开发流程、使用途径三方面,为开发者梳理完整的
    的头像 发表于 11-22 07:11 1124次阅读
    RK 平台 Vendor Storage <b class='flag-5'>开发</b>指南:<b class='flag-5'>基础知识</b>、流程与实用技巧

    【汇思博SEEK100开发板试用体验】在开发鸿蒙OS搭建QT开发环境

    ,为鸿蒙设备开发原生性能应用。Qt for HarmonyOS 的核心是一个 QPA 插件(Qt Platform Abstraction),其作用是将 Qt 的窗口系统与鸿蒙的 UI
    发表于 08-24 18:34

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

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

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

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

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

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

    从“开发者孤岛”到“生态星河”:开鸿Bot如何重构开源鸿蒙开发体验

    在中国操作系统发展史上,“开发者”似乎从来都是一个边缘角色。他们是开源社区中最活跃的群体,却也是最常被忽视的那群人。具体到开源鸿蒙社区,其生态构建初期,诸多开发者曾坦言,“鸿蒙很好,但
    的头像 发表于 06-10 17:12 1832次阅读
    从“<b class='flag-5'>开发</b>者孤岛”到“生态星河”:开鸿Bot如何重构开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>体验

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

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

    2025开源鸿蒙开发者大会圆满落幕

    近日,开源鸿蒙开发者大会2025(OHDC.2025,简称“大会”)在深圳隆重开幕。大会正式发布了开源鸿蒙5.1 Release版本,举行了开源鸿蒙应用技术组件共建启动、开源
    的头像 发表于 05-26 17:03 1501次阅读

    开源鸿蒙开发新体验,开鸿Bot系列今日开启预售!

    系列覆盖笔记本电脑与迷你主机两种形态,既是开发者探索开源鸿蒙操作系统的学习设备,也是一款满足轻办公需求的智慧终端。凭借“新交互、新智能、新生态、新安全”四大核心能力,开鸿Bot系列面向开源鸿蒙
    发表于 05-16 14:13