Hvigor 深入App编译细节

660 阅读1分钟

目标

掌握hvigor插件完成整个应用的编译过程

注意:对实际的业务应用开发没有帮助

实验条件

  1. DevEco Studio 3.1.1
  2. hvigor 2.4.2
  3. hvigor-ohos-plugin 2.4.2
  4. macOS m1
  5. 测试工程-主模块(C++),har模块

编译命令

在Terminal中输入编译命令:

sh ./hvigorw assembleApp -m project -p product=default -d -i --no-incremental --no-parallel --no-daemon

  • assembleApp : 编译生成App
  • -m project : 编译整应用个工程生成App,配合assembleApp使用
  • -p product=default : 编译default产品的App, DevEco支持一个工程多产品生成
  • -d -i : 打印调试日志和信息日志
  • --no-incremental : 禁止增量编译
  • --no-parallel : 禁止并且编译
  • --no-daemon : 禁止开启守护进程

整体流程

图片比较大,最好电脑查看

HarmonyOS App编译流程 (2).png

签名示例

应用签名在HarmonyOS应用编译过程中,有两种类型,1. 针对Hap包签名 2. 针对app包签名

SignHap

HAP签名流程.jpg 签名使用 hap-sign-tool.jar 文件对 ".hap" 文件进行签名

签名hap分为两步:1. 验证签名文件 2. 开始签名

命令示例: java -jar hap-sign-tool.jar sign-app ....

关于更多细节,可参见gitee中的 “developtools_hapsigner” 代码仓库

注意:对hap签名,java 命令后使用的是 “sign-app”

WX20240417-125222@2x.png

WX20240417-125351@2x.png

SignApp

App签名流程.jpg

签名使用 hap-sign-tool.jar 文件对 ".app" 文件进行签名

命令示例: java -jar hap-sign-tool.jar sign-app ....

关于更多细节,可参见gitee中的 “developtools_hapsigner” 代码仓库。

WX20240417-022958@2x.png

结尾

是否继续再分析资源打包,看情况,先到此为止吧。

祝好运!