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

系统应用目录文件正确:

相关推荐
hai_android21 分钟前
LruCache 图片浏览器内存缓存
android·java·kotlin
今天要早睡_1 小时前
C++入门到精通:类和对象(下)全方位解析
android·c++
李游Leo5 小时前
HarmonyOS 7 API 26 升级适配实战:API Change Assistant、targetSDKVersion 与兼容性回归
harmonyos
OH_TPC5 小时前
HarmonyOS APP开发---"智泊"智能停车App,需要用到这个库
harmonyos
Godikov5 小时前
在 Android 上跑 Kafka Consumer:一个实时定位数据接入的踩坑记录
android
用户117910488336 小时前
AI粘贴多行需求为什么会误执行?hmharness安全粘贴拆解 GitHub:swsgbl/hmharness
ai编程·harmonyos
用户0934077735146 小时前
HarmonyOS WPS Open SDK 实践:从 HAR 集成到 OpenFileRequest 最小闭环
typescript·harmonyos
mmsx6 小时前
Android 自定义 View 三关:触摸分发、绘制与坐标错位
android·kotlin
JMchen6 小时前
自定义View在复杂业务场景中的实战
android·kotlin·canvas
hai_android6 小时前
RecyclerView 缓存机制详解
android·kotlin·android jetpack