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

系统应用目录文件正确:

相关推荐
怀旧,12 小时前
【Linux系统编程】13. Ext系列⽂件系统
android·linux·缓存
Dabei12 小时前
Android 语音助手简单实现与语音助手“执行任务”交流
android·前端
jzlhll12312 小时前
android NDSDManager onResolveFailed errorCode=3的解决方案
android
资深web全栈开发13 小时前
LeetCode 3652: 按策略买卖股票的最佳时机
算法·leetcode·职场和发展
芦半山13 小时前
四年之后,重新审视 MTE:从硬件架构到工程落地
android·安全
2501_9160074713 小时前
iOS与Android符号还原服务统一重构实践总结
android·ios·小程序·重构·uni-app·iphone·webview
allk5513 小时前
Android 屏幕适配全维深度解析
android·性能优化·界面适配
不爱吃糖的程序媛13 小时前
鸿蒙PC命令行开发 macOS 上解决 pkg-config 命令未安装的问题
macos·华为·harmonyos
Android系统攻城狮13 小时前
Android ALSA驱动进阶之获取采样格式位宽snd_pcm_format_width:用法实例(九十八)
android·pcm·音频进阶·alsa驱动
莫比乌斯环14 小时前
【日常随笔】Android 跳离行为分析 - Instrumentation
android·架构·代码规范