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

系统应用目录文件正确:

相关推荐
xiaoqi9222 小时前
React Native鸿蒙跨平台如何实现分类页面组件通过searchQuery状态变量管理搜索输入,实现了分类的实时过滤功能
javascript·react native·react.js·ecmascript·harmonyos
听麟2 小时前
HarmonyOS 6.0+ 智慧出行导航APP开发实战:离线地图与多设备位置协同落地
华为·wpf·harmonyos
qq_177767372 小时前
React Native鸿蒙跨平台实现应用介绍页,实现了应用信息卡片展示、特色功能网格布局、权限/联系信息陈列、评分展示、模态框详情交互等通用场景
javascript·react native·react.js·ecmascript·交互·harmonyos
2603_949462102 小时前
Flutter for OpenHarmony社团管理App实战:预算管理实现
android·javascript·flutter
jin1233224 小时前
基于React Native鸿蒙跨平台地址管理是许多电商、外卖、物流等应用的重要功能模块,实现了地址的添加、编辑、删除和设置默认等功能
javascript·react native·react.js·ecmascript·harmonyos
2501_920931704 小时前
React Native鸿蒙跨平台医疗健康类的血压记录,包括收缩压、舒张压、心率、日期、时间、备注和状态
javascript·react native·react.js·ecmascript·harmonyos
王泰虎4 小时前
安卓开发日记,因为JCenter 关闭导致加载不了三方库应该怎么办
android
2501_920931705 小时前
React Native鸿蒙跨平台使用useState管理健康记录和过滤状态,支持多种健康数据类型(血压、体重等)并实现按类型过滤功能
javascript·react native·react.js·ecmascript·harmonyos
2501_921930835 小时前
高级进阶 React Native 鸿蒙跨平台开发:InteractionManager 交互优化
react native·harmonyos
前端不太难6 小时前
HarmonyOS PC 文档模型完整范式
华为·状态模式·harmonyos