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 正常启动:

系统应用目录文件正确:

相关推荐
Alfred king1 小时前
Leetcode 四数之和
算法·leetcode·职场和发展·数组·排序·双指针
一笑的小酒馆7 小时前
Android12去掉剪贴板复制成功的Toast
android
一笑的小酒馆8 小时前
Android12App启动图标自适应
android
程序员江同学9 小时前
Kotlin 技术月报 | 2025 年 7 月
android·kotlin
zhanshuo9 小时前
让鸿蒙应用丝滑如飞:绘图性能优化全攻略(附代码实战)
harmonyos
zhanshuo9 小时前
适配鸿蒙低性能设备的终极优化方案:从启动到渲染全链路实战
harmonyos
Georgewu10 小时前
【HarmonyOS】鸿蒙ArkWeb加载优化方案详解
harmonyos
Georgewu10 小时前
【HarmonyOS】鸿蒙应用HTTPDNS 服务集成详解
harmonyos
某空m11 小时前
【Android】内容提供器
android
Greenland_1211 小时前
Android 编译报错 Null extracted folder for artifact: xxx activity:1.8.0
android