浙江省建设工程协会网站,tk网站,电脑店网站模板,php小程序开发完整教程文档环境
开发环境#xff1a;Windows 11 编译环境#xff1a;Ubuntu 22.04 开发板型号#xff1a;DAYU 200#xff08;RK3568#xff09; 系统版本#xff1a;OpenHarmony-4.0-Release
功能简介
在 OpenHarmony 系统中预安装应用的 hap 包会随系统编译打包到镜像中Windows 11 编译环境Ubuntu 22.04 开发板型号DAYU 200RK3568 系统版本OpenHarmony-4.0-Release
功能简介
在 OpenHarmony 系统中预安装应用的 hap 包会随系统编译打包到镜像中目前有两种编译预安装应用 hap 包的方式一种为随系统编译时编译应用源码生成 hap 包的方式另一种是将已生成的 hap 包放入系统源码中再进行打包的方式。后者需要开发者使用 DevEco Studio 或其它途径把应用源码编译构建为 hap 包再将 hap 放入系统源码中。本文档将以 Launcher 为例带大家了解如何通过 4.0Release 的系统源码编译应用的方式来打包预安装应用。由于应用依赖和构建工具的升级和替换3.2Release 系统编译构建应用的方式是 NPMWebpack而 4.0Release 使用 OHPMHvigor 的方式进行构建差别较大。
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_HOMEpwd -P
HVIGOR_WRAPPER_SCRIPT${HVIGOR_APP_HOME}/hvigor/hvigor-wrapper.js
warn() {echo echo -e \033[1;33mdate [%Y-%m-%d %H:%M:%S]$\033[0m
}error() {echo echo -e \033[1;31mdate [%Y-%m-%d %H:%M:%S]$\033[0m
}fail() {error $exit 1
}# Determine node to start hvigor wrapper script
if [ -n ${NODE_HOME} ];thenEXECUTABLE_NODE${NODE_HOME}/bin/nodeif [ ! -x $EXECUTABLE_NODE ];thenfail ERROR: NODE_HOME is set to an invalid directory,check $NODE_HOME\n\nPlease set NODE_HOME in your environment to the location where your nodejs installedfi
elseEXECUTABLE_NODEnodewhich ${EXECUTABLE_NODE} /dev/null 21 || fail ERROR: NODE_HOME is not set and not node command found in your path
fi# Check hvigor wrapper script
if [ ! -r $HVIGOR_WRAPPER_SCRIPT ];thenfail ERROR: Couldnt find hvigor/hvigor-wrapper.js in ${HVIGOR_APP_HOME}
fi# start hvigor-wrapper script
exec ${EXECUTABLE_NODE} \${HVIGOR_WRAPPER_SCRIPT} $2由于系统编译应用目前不支持配置产品所以需要把 Launcher 应用源码中有关 pad 的构建项删除。
文件位置applications/standard/launcher/build-profile.json5
内容如下
{...{name: phone_launcher,srcPath: ./product/phone,targets: [{name: default,applyToProducts: [default,],},],},{name: launcher_settings,srcPath: ./feature/settings,targets: [{name: default,applyToProducts: [default,],},],}],
}文件位置applications/standard/launcher/feature/settings/build-profile.json5
内容如下
{apiType: stageMode,buildOption: {},targets: [{name: default,}],entryModules: [phone_launcher]
}2.删除或注释系统中默认的 Launcher 应用 hap 包编译方式。
文件位置applications/standard/hap/BUILD.gn
group(hap) {deps [...# //applications/standard/hap:launcher_hap, // 直接删除或注释不参与编译# //applications/standard/hap:launcher_settings_hap, // 直接删除或注释不参与编译...]}3.在 applications/standard/launcher 目录中增加 BUILD.gn 文件。 内容如下
import(//build/ohos.gni)ohos_app(launcher_OS) {part_name prebuilt_hapsubsystem_name applications hap_name Launcher_OS certificate_profile ./signature/launcher.p7bmodule_libs_dir entrymodule_install_dir app/com.ohos.launcherjs_build_mode releasebuild_level moduleassemble_type assembleHap
}说明
此处产物名称 hap_name 定义为 Launcher_OS 是为了区分原系统源码中默认的 hap 包名称实际可以填写为 Launcher 或任意值。BUILD.gn 的模板参数可以参考编译系统提供的模板。
4.在 applications/standard/hap/ohos.build 文件的 module_list 中增加 launcher_OS 模块编译。
{subsystem: applications,parts: {prebuilt_hap: {...module_list: [...//applications/standard/launcher:launcher_OS,...]}}
}5.执行源码编译指令。如果以下 2 个目录产物正确则说明应用源码编译方式修改成功。
1在 out/rk3568/obj/applications/standard/launcher/launcher_OS 目录中会生成 2 个 hap 的编译产物。 2在 out/rk3568/packages/phone/system/app/com.ohos.launcher 目录中是实际系统环境中的 hap 包产物。 6.烧录系统验证功能。
Launcher 正常启动 系统应用目录文件正确 为了能让大家更好的学习鸿蒙HarmonyOS NEXT开发技术这边特意整理了《鸿蒙开发学习手册》共计890页希望对大家有所帮助https://qr21.cn/FV7h05
《鸿蒙开发学习手册》
如何快速入门https://qr21.cn/FV7h05
基本概念构建第一个ArkTS应用…… 开发基础知识https://qr21.cn/FV7h05
应用基础知识配置文件应用数据管理应用安全管理应用隐私保护三方应用调用管控机制资源分类与访问学习ArkTS语言…… 基于ArkTS 开发https://qr21.cn/FV7h05
Ability开发UI开发公共事件与通知窗口管理媒体安全网络与链接电话服务数据管理后台任务(Background Task)管理设备管理设备使用信息统计DFX国际化开发折叠屏系列…… 鸿蒙开发面试真题含参考答案https://qr18.cn/F781PH 鸿蒙开发面试大盘集篇共计319页https://qr18.cn/F781PH
1.项目开发必备面试题 2.性能优化方向 3.架构方向 4.鸿蒙开发系统底层方向 5.鸿蒙音视频开发方向 6.鸿蒙车载开发方向 7.鸿蒙南向开发方向