你是否每次手动更改发布证书打app包上加应用市场呢?你是否每次打完包都手动在名称后添加版本号和时间呢?不同环境的依赖包经常打包时忘记改呢?其实这些鸿蒙都支持动态配置。
认识hvigor编译构建
hvigor将工程解析为一个树形结构,项目为树的根节点,项目中的每个模块为树的叶子节点,树最多为两层,模块中不能包含其他模块,在hvigor的定义中统称项目或模块为一个node(节点)。在构建最开始的初始化阶段,会通过hvigorconfig.ts文件以及工程级build-profile.json5文件中的配置来构造出一个树形结构存储项目的工程结构,工程级build-profile.json5文件和hvigorconfig.ts文件均可以配置多模块。
hvigor是基于任务对您的项目进行自动化构建的,任务(Task)是hvigor构建过程中的基本工作单元,它定义了构建项目时需要执行的具体工作。任务可以完成多种操作,比如源码编译任务,打包任务或签名任务等。每一种任务的执行逻辑由插件(plugin)提供,插件可以是由hvigor-ohos-plugin提供的默认任务逻辑,也可由您个性化定制。
如何动态配置发布证书
发布证书是在应用打包APP上架应用市场时使用,所以有人将debug环境配置为调试证书,release环境配置为发布证书是不对的,用发布证书打包的应用是不能直接运行到手机上。 我们可以对比一下调试证书和发布证书,不一样的是profile、certpath、keyPassword和storePassword,我们只需要在hvigor中判断当前任务是在打包APP,就可以将这些值动态替换为发布证书的值。比如我们正常在build-profile.json5中配置调试证书如下
在根目录下的hvigorfile.ts可以这么处理
打包时如何动态设置APP版本和日期
我们可以在根目录下的hvigorfile.ts中动态获取项目的版本号以及通过Date获取打包时的日期时间,并追加到APP的名称上,示例如下
假如我们在build-profile.json5中配置artifactName的值为app,则打包的名称为app-1.0.0-510.app
如何根据不同的环境依赖不同的库
比如我们要在开发环境依赖flutter的debug包,在生产环境依赖flutter的release包该怎么处理呢?我们可以在oh-package.json5中先配置debug包,在模块下的hvigorfile.ts中检测到当前是生产环境,则动态的将依赖包替换为release版本。oh-package.json5的配置如下
假如生产环境的product配置为prod,则hvigorfile.ts中的示例如下
在hvigorfile.ts中可以做很多事情,可以动态更改app.json5、module.json5、build-profile.json5和oh-package.json5中的很多内容,大家可以多尝试尝试,有了这些能力,就不用担心打包时忘记更改或改错了。
到此这篇鸿蒙软件后缀是啥(鸿蒙软件后缀是啥啊)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-yjs/70110.html