自定义参数BuildProfile的问题汇总
1. 自定义参数BuildProfile的问题汇总
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
如何在BuildProfile中自定义参数?
167浏览 • 1回复 待解决
BuildProfile自定义字段报错:Property 'BUILD_VERSION' does not exist on type 'typeof BuildProfile'
634浏览 • 1回复 待解决
如何自定义拼接设置UserAgent参数
2196浏览 • 3回复 待解决
HarmonyOS 自定义弹窗的问题
517浏览 • 1回复 待解决
自定义配置参数设定有会的吗?
1804浏览 • 1回复 待解决
如何理解自定义弹窗中的gridCount参数
2140浏览 • 1回复 待解决
自定义装饰器的使用问题
685浏览 • 1回复 待解决
HarmonyOS 自定义组件问题
258浏览 • 1回复 待解决
自定义hvigor插件问题?
37浏览 • 0回复 待解决
HarmonyOS 自定义弹窗CustomDialog问题
461浏览 • 1回复 待解决
自定义弹窗使用相关问题
834浏览 • 1回复 待解决
自定义弹窗自定义转场动画
917浏览 • 1回复 待解决
ListItemGroup的header和footer参数,无法使用自定义组件
2181浏览 • 1回复 待解决
HarmonyOS 自定义Dialog显示问题
341浏览 • 1回复 待解决
HarmonyOS 自定义弹窗 (CustomDialog)问题
205浏览 • 1回复 待解决
关于自定义的XComponent加载so的问题
30浏览 • 1回复 待解决
HarmonyOS 引用自定义web的模块问题
470浏览 • 1回复 待解决
HarmonyOS toast(promptAction)的自定义页面问题
306浏览 • 1回复 待解决
自定义弹窗边界问题,自定义弹窗怎么设置左右边框的margin效果。
838浏览 • 1回复 待解决
HarmonyOS 自定义组件时怎样把组件当作参数传递?
214浏览 • 1回复 待解决
HarmonyOS TextInput自定义键盘问题
422浏览 • 1回复 待解决
HarmonyOS 自定义弹窗部分问题答疑
186浏览 • 1回复 待解决
HarmonyOS 自定义组件CustomBuilder显示问题
187浏览 • 1回复 待解决
HarmonyOS 自定义弹框组件问题
327浏览 • 1回复 待解决
DevEco Device Tool怎么自定义启动参数bootcmd以及bootargs?
5671浏览 • 1回复 待解决
一.BuildProfile功能介绍:
在编译构建时,Hvigor会生成BuildProfile类,开发者可以通过该类在运行时获取编译构建参数,也可以在build-profile.json5中通过buildProfileFields增加自定义字段,从而在运行时获取自定义的参数。
约束条件
仅支持API 10及以上的Stage模型工程。
二.目前BuildProfile支持能力:
HAP/HSP运行时获取编译构建参数:
①生成BuildProfile类文件
②在代码中获取构建参数
③默认参数
④自定义参数
HAR运行时获取编译构建参数:
①生成BuildProfile类文件
②在代码中获取构建参数
③默认参数
④自定义参数
工程级配置自定义构建参数:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-hvigor-get-build-profile-para-guide-0000001759228286#section63421512324
三.BuildProfile高频问题:
问题1:BuildProfile 无法取值问题?
问题场景:
har 开发中,需要传递har 的版本号给其他端,方便出现问题时定义har 的版本,当前发现BuildProfile 可以定义这些信息,目前对于如何获取BuildProfile 中定义的值有问题?
回答:
生成BuildProfile类文件后,在代码中可以通过相对路径引入该文件,如在HAR模块的Index.ets文件中使用该文件:
通过如下方式获取到构建参数:
问题2:BuildProfile文件是否支持在Native侧直接读取?
问题场景:
想要在native侧直接读取BuildProfile文件,这样方便开发,目前伙伴只看到ets使用的说明,但是在 native侧也需要使用?
回答:
目前不支持在native直接读取,建议在ets侧获取,传递到native侧。
问题3:build-profile.json5中定义的默认字段以及自定义字段能否在hvigor编译时扩展插件中拿到
问题场景:
想要会在项目根目录的build-profile.json5中定义product以及环境信息,该信息运行时可以在BuildProfile中获取。但是编译时阶段能否在Hvigor阶段也能获取到。
伙伴需要在编译阶段拉取配置,需要按照包对应的环境去拉取。
回答:
自己去读取build-profile.json5属于typeScript能力,目前无法给出。当前build-profie.json5中更多配置信息动态获取修改能力正在补充中,后面会暴露出对应的api。
如果想要在写流水线自动脚本时获取不同product信息等可以通过hvigorfile.ts直接调用对应接口即可
获取当前构建的product信息:
在工程级hvigorfile.ts中读取build-profile.json5配置的自定义参数:
hvigor-config.json5中添加json5依赖:
问题4:获取BuildProfile 构建参数在什么时候获取?
问题场景:
1.想编译时在hvigor中有没有办法取到构建参数?想获取到build-profile.json5中定义的默认参数以及自定义参数?
2.hvigor插件编译过程中怎么debug?
回答:
1.目前可以取到一个Context对象,可以获取到moduleName以及modulePath,没有原生方法,可以用读取json5文件的方式实现(问题三类似)
2.调试hvigorfile.ts目前在ide上是不支持的
问题5:自定义的编译参数,在buildprofile里已经生成了,但是代码里使用报错找不到
问题现象:
本地HSP模块对外提供的接口中使用了HAP未定义的自定义参数BuildProfileFileds,且HAP引用了HSP中的该接口,导致编译失败,提示“Property 'XX' does not exist on type 'typeof BuildProfile'”。
回答:
可采用以下两种方式解决该问题:
1.在HAP中配置与HSP相同的自定义参数BuildProfileFileds。
2.将与HSP相同的自定义参数BuildProfileFileds配置到工程级build-profile.json5中,该方法会使HSP中的自定义参数在全局生效。