概述
文档环境
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 "