OpenHarmony应用编译 - 如何在源码中编译复杂应用

功能简介

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

4.0-Release系统编译Launcher

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

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

文件位置:做鸿蒙应用开发到底学习些啥? (qq.com)

内容如下:

(2)由于系统编译应用目前不支持配置产品,所以需要把Launcher 应用源码中有关pad的构建项删除。

文件位置:做鸿蒙应用开发到底学习些啥? (qq.com)

文件位置:做鸿蒙应用开发到底学习些啥? (qq.com)

内容如下:

  1. 删除或注释系统中默认的Launcher 应用hap包编译方式。

文件位置:做鸿蒙应用开发到底学习些啥? (qq.com)

  1. applications/standard/launcher 目录中增加BUILD.gn文件。

内容如下:

说明:

  • 此处产物名称hap_name 定义为Launcher_OS 是为了区分原系统源码中默认的hap 包名称,实际可以填写为Launcher 或任意值**。**
  • BUILD.gn的模板参数可以参考编译系统提供的模板。
  1. applications/standard/hap/ohos.build 文件的module_list 中增加launcher_OS模块编译。
  1. 执行源码编译指令。如果以下2个目录产物正确,则说明应用源码编译方式修改成功。

(1)在out/rk3568/obj/applications/standard/launcher/launcher_OS目录中,会生成2个hap的编译产物。

(2)在out/rk3568/packages/phone/system/app/com.ohos.launcher 目录中,是实际系统环境中的hap包产物。

  1. 烧录系统验证功能。

Launcher 正常启动:

系统应用目录文件正确:

相关推荐
弓.长.11 小时前
ReactNative for OpenHarmony项目鸿蒙化三方库:react-native-svg(CAPI) — 矢量图形组件
react native·react.js·harmonyos
不爱吃糖的程序媛11 小时前
鸿蒙三方库适配HPKCHECK 文件执行流程详解
华为·harmonyos
见山是山-见水是水11 小时前
Flutter 框架跨平台鸿蒙开发 - 电子发票智能管理
flutter·华为·harmonyos
IT枫斗者11 小时前
构建具有执行功能的 AI Agent:基于工作记忆的任务规划与元认知监控架构
android·前端·vue.js·spring boot·后端·架构
HarmonyOS_SDK12 小时前
化繁为简:顺丰速运App如何通过 HarmonyOS SDK实现专业级空间测量
harmonyos
wfbcg12 小时前
每日算法练习:LeetCode 76. 最小覆盖子串 ✅
算法·leetcode·职场和发展
用户693717500138412 小时前
XChat 为什么选择 Rust 语言开发
android·前端·ios
林栩link12 小时前
【车载 Android】实践跨进程 UI 融合渲染
android
不爱吃糖的程序媛12 小时前
鸿蒙三方库适配读懂 `HPKBUILD`:lycium 怎么知道「下载谁、怎么编、装到哪」?
服务器·华为·harmonyos
Paxon Zhang12 小时前
MySQL 大师之路**数据库约束,表设计,CRUD**
android·数据库·mysql