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的文件目录。通过命令 curlhttps://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

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

    关注

    183

    文章

    2624

    浏览量

    65684
  • 鸿蒙
    +关注

    关注

    56

    文章

    2262

    浏览量

    42437
  • OpenHarmony
    +关注

    关注

    25

    文章

    3518

    浏览量

    15640
  • 鸿蒙星河
    +关注

    关注

    0

    文章

    8

    浏览量

    23
收藏 人收藏

    评论

    相关推荐

    鸿蒙开发就业前景到底怎么样?

    门槛与挑战: 鸿蒙 开发需要程序员具备良好的编程语言基础, 并熟悉操作系统原理、分布式系统架构、云计算和人工智能等方面的 知识。这种技术门槛虽然较高,但也为 开发者提供了提升自己技术水平的机
    发表于05-09 17:37

    36岁了还有必要转行鸿蒙开发吗?

    鸿蒙 开发这事儿,真的挺有必要的! 鸿蒙操作系统,它厉害就厉害在高性能、可扩展,还特智能。现在智能 设备和物联网火得不行, 鸿蒙就是要成为这个时代
    发表于05-09 17:01

    鸿蒙OS开发学习:【尺寸适配实现】

    鸿蒙 开发中,尺寸适配是一个重要的概念,它可以帮助我们在不同屏幕尺寸的 设备上正确显示和布局我们的应用程序。本文将介绍如何在 鸿蒙 开发中实现尺寸
    的头像 发表于04-10 16:05 1365次阅读
    <b class='flag-5'>鸿蒙</b>OS<b class='flag-5'>开发</b>学习:【尺寸适配实现】

    鸿蒙NEXT南向开发案例:【智能台灯】

    鸿蒙南向 开发之智能台灯案例
    的头像 发表于04-03 18:00 728次阅读
    <b class='flag-5'>鸿蒙</b>NEXT南向<b class='flag-5'>开发</b>案例:【智能台灯】

    未来从事鸿蒙开发?是否会有前景?

    鸿蒙的未来发展肯定很有前景的, 鸿蒙作为新出的国产操作系统。它不仅只是手机操作系统, 鸿蒙的出发点就是万物互联。包含原生应用 开发、车载、智能 设备
    发表于02-19 21:31

    鸿蒙开发者预览版如何?

    、原生智能、原生互联,6大极致原生体验。 我初步阅读了 鸿蒙的源码后,基本上可以确定是全自研底座,已经看不到Android的身影了。作为 开发者,如果想往 鸿蒙方向发展,就需要系统性学起。 鸿蒙
    发表于02-17 21:54

    使用 Taro开发鸿蒙原生应用 —— 快速上手,鸿蒙应用开发指南

    随着 鸿蒙系统的不断完善,许多应用厂商都希望将自己的应用移植到 鸿蒙平台上。最近,Taro 发布了 v4.0.0-beta.x 版本,支持使用 Taro 快速 开发 鸿蒙原生应用,也可将现有的
    的头像 发表于02-02 16:09 643次阅读
    使用 Taro <b class='flag-5'>开发</b><b class='flag-5'>鸿蒙</b>原生应用 —— 快速上手,<b class='flag-5'>鸿蒙</b>应用<b class='flag-5'>开发</b>指南

    鸿蒙不再兼容安卓,那么鸿蒙开发者是否会大增?

    华为的纯血版 鸿蒙已出现。紧接着各大厂商都纷纷加入原生应用 开发当中,其中包括支付宝、京东、美团等一线大厂,200 多应用厂商正在加速 开发 鸿蒙原生应用。
    发表于01-31 22:17

    鸿蒙开发教程

    去年8 月份华为发布会上,华为发布了HarmonyOS NEXT预览版,宣布不再兼容安卓应用。大家期待的纯血 鸿蒙终于要来临了,next 预览版本现在已经开放申请渠道了,Next 开发者预览版本目前只
    的头像 发表于01-31 17:11 544次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>教程

    鸿蒙开发用什么语言?

    两种 开发方向 我们常说 鸿蒙 开发,但是其实 鸿蒙 开发分为两个方向: 一个是系统级别的 开发,比如驱动,
    的头像 发表于01-30 16:12 1181次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>用什么语言?

    鸿蒙开发【应用开发基础知识

    通过OpenHarmony提供的Stage模型和ArkUI的eTS声明式 开发规范,结合简单的Demo,分享学习OpenHarmony/docs/application-dev
    的头像 发表于01-29 18:46 1156次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>【应用<b class='flag-5'>开发</b><b class='flag-5'>基础知识</b>】

    鸿蒙开发之ArkTS基础知识

    一、ArkTS简介 ArkTS是HarmonyOS优选的主力应用 开发语言。它在TypeScript(简称TS)的基础上,匹配了 鸿蒙的ArkUI框架,扩展了声明式UI、状态管理等相应的能力,让 开发者以
    的头像 发表于01-24 16:44 1631次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>之ArkTS<b class='flag-5'>基础知识</b>

    鸿蒙ArkUI开发-Tabs组件的使用

    鸿蒙ArkUI 开发-Tabs组件的使用
    的头像 发表于01-19 16:01 1249次阅读
    <b class='flag-5'>鸿蒙</b>ArkUI<b class='flag-5'>开发</b>-Tabs组件的使用

    嵌入式开发系统基础知识

    德赢Vwin官网 网站提供《嵌入式 开发系统 基础知识.pdf》资料免费下载
    发表于11-17 10:59 0次下载
    嵌入式<b class='flag-5'>开发</b>系统<b class='flag-5'>基础知识</b>

    鸿蒙OS 应用开发初体验

    什么是 HarmonyOS? HarmonyOS( 鸿蒙操作系统)是华为公司 开发的一款基于微内核的分布式操作系统。它是一个面向物联网(IoT)时代的全场景操作系统,旨在为各种类型的 设备提供统一
    发表于11-02 19:38