【鸿蒙南向实战开发】OpenHarmony应用编译 - 如何在源码中编译复杂应用

概述

文档环境

1.开发环境:Windows 11

2.编译环境:Ubuntu 22.04

3.开发板型号:DAYU 200(RK3568)

4.系统版本:OpenHarmony-4.0-Release

5.涉及仓库:applications_launcher

功能简介

●在 OpenHarmony 系统中预安装应用的 hap 包会随系统编译打包到镜像中,目前有两种编译预安装应用 hap 包的方式,一种为随系统编译时,编译应用源码生成 hap 包的方式,另一种是将已生成的 hap 包放入系统源码中,再进行打包的方式。后者需要开发者使用 DevEco Studio 或其它途径,把应用源码编译构建为 hap 包,再将 hap 放入系统源码中。

●在 OpenHarmony 应用编译 - 如何在源码中编译复杂应用(3.2-Release)文章中,介绍了如何在 3.2Release 版本的系统源码中编译系统应用 Launcher。本文档将继续以 Launcher 为例,带大家了解如何通过 4.0Release 的系统源码编译应用的方式来打包预安装应用。

●由于应用依赖和构建工具的升级和替换,3.2Release 系统编译构建应用的方式是 NPM+Webpack,而 4.0Release 使用 OHPM+Hvigor 的方式进行构建,差别较大。

4.0-Release 系统编译 Launcher

1.由于 Launcher 自身原因,导致需要做 2 处改动才可进行源码编译构建。本步骤并非所有项目通用,如果新建的项目可以跳过本步骤,后续 Launcher 或工具更新后也不需要本步骤。

(1)适配系统源码中 NODE_HOME 环境变量的配置,需要修改应用目录下 hvigorw 工具为最新。

文件位置:applications/standard/launcher/hvigorw

内容如下:

#!/bin/bash

# ----------------------------------------------------------------------------
#  Hvigor startup script, version 1.0.0
#
#  Required ENV vars:
#  ------------------
#    NODE_HOME - location of a Node home dir
#    or
#    Add /usr/local/nodejs/bin to the PATH environment variable
# ----------------------------------------------------------------------------

HVIGOR_APP_HOME="`pwd -P`"
HVIGOR_WRAPPER_SCRIPT=${HVIGOR_APP_HOME}/hvigor/hvigor-wrapper.js
warn() {
	echo ""
	echo -e "\033[1;33m`date '+[%Y-%m-%d %H:%M:%S]'`$@\033[0m"
}

error() {
	echo ""
	echo -e "\033[1;31m`date '+[%Y-%m-%d %H:%M:%S]'`$@\033[0m"
}

fail() {
	error "$@"
	exit 1
}

# Determine node to start hvigor wrapper
### 配置鸿蒙操作系统南向开发环境 #### 准备工作 为了成功配置用于南向开发鸿蒙操作系统(HarmonyOS)环境,需先准备好必要的硬件和软件资源。确保拥有支持Linux操作系统的计算机以及稳定的网络连接以便下载所需的工具包和其他依赖项。 #### 安装Ubuntu系统并更新至最新状态 建议使用Ubuntu作为主要的操作平台来构建HarmonyOS开发环境。安装完成后应立即执行系统升级命令以获得最新的安全补丁和支持: ```bash sudo apt update && sudo apt upgrade -y ``` #### 获取OpenHarmony源码 对于希望参与社区贡献或是基于最前沿技术进行研究的情况,可以从Master主干获取最新的特性;而对于追求稳定性,则推荐采用已发布的稳定版本来进行商用产品的研发[^3]。这里介绍通过repo工具初始化仓库并同步代码的方法: ```bash # 初始化Repo客户端 mkdir openharmony && cd $_ repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify # 同步项目文件到本地 repo sync -c # 下载大文件(如果存在) repo forall -c 'git lfs pull' ``` #### 设置编译环境变量 完成上述步骤之后,还需要设置一些特定于项目的环境变量才能顺利开展后续的工作。这通常涉及到添加路径、指定目标架构等操作,在官方文档或相关教程中有详细的指导可供参考[^1]。 #### 编译LiteOS-A内核镜像 针对嵌入式设备的应用场景,即所谓的“南向”,重点在于定制化轻量级内核(LiteOS-A),这部分内容位于整个体系结构中的底层位置,负责提供基本的操作系统服务给上层模块调用[^2]。具体的编译过程可能因所选平台而异,请参照对应型号的具体指南完成此阶段的任务。 #### 测试与验证 最后一步是对生成的结果进行全面测试,确认其能够正常运行并与预期相符。可以利用模拟器或者实际物理设备来进行这项检验活动,确保最终产品达到高质量标准。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值