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

功能简介

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

4.0-Release系统编译Launcher

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

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

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

内容如下:

OpenHarmony应用编译 - 如何在源码中编译复杂应用_第1张图片

OpenHarmony应用编译 - 如何在源码中编译复杂应用_第2张图片

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

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

OpenHarmony应用编译 - 如何在源码中编译复杂应用_第3张图片

OpenHarmony应用编译 - 如何在源码中编译复杂应用_第4张图片

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

内容如下:

OpenHarmony应用编译 - 如何在源码中编译复杂应用_第5张图片

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

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

OpenHarmony应用编译 - 如何在源码中编译复杂应用_第6张图片

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

OpenHarmony应用编译 - 如何在源码中编译复杂应用_第7张图片

内容如下:

OpenHarmony应用编译 - 如何在源码中编译复杂应用_第8张图片

说明:

  • 此处产物名称hap_name定义为Launcher_OS是为了区分原系统源码中默认的hap包名称,实际可以填写为Launcher或任意值
  • BUILD.gn的模板参数可以参考编译系统提供的模板。

4. 在applications/standard/hap/ohos.build文件的module_list中增加launcher_OS模块编译。

OpenHarmony应用编译 - 如何在源码中编译复杂应用_第9张图片

5. 执行源码编译指令。如果以下2个目录产物正确,则说明应用源码编译方式修改成功。

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

OpenHarmony应用编译 - 如何在源码中编译复杂应用_第10张图片

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

6. 烧录系统验证功能。

Launcher正常启动:OpenHarmony应用编译 - 如何在源码中编译复杂应用_第11张图片

系统应用目录文件正确:

OpenHarmony应用编译 - 如何在源码中编译复杂应用_第12张图片

你可能感兴趣的:(harmonyos,华为,android,职场和发展,鸿蒙)