HarmonyOS SDK内部资源获取异常
Har包内字符串资源相互获取异常,无法通过正常的API(resource.getStringSync)接口进行资源获取。目前SDK情况如下:
问题1. Har包A持有真实的资源信息,且能获取Resource,Har包B提供了一个通用的资源获取方法,入参为Resource,通过resourceManager.getStringSync,目前通过getStringByNameSync来解决。
问题2. 在问题1修复方案上,提供给客户包的时候发现,Har包的传递依赖资源无法获取,客户对SDK封装成了一个Har工程bizHar,entry工程依赖客户必须在entry主工程dependencies中在我们提供的所有Har包资源才能获取。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 调用内部资源问题
949浏览 • 1回复 待解决
HarmonyOS animateTo过渡动画问题,内部文字显示异常
1080浏览 • 1回复 待解决
HarmonyOS 关于Web加载资源异常毁掉问题
1325浏览 • 1回复 待解决
HarmonyOS Web本地资源跨域加载异常
764浏览 • 1回复 待解决
HarmonyOS app这边用的naigaiton,跳转到支付sdk后,sdk内部使用的router。
1184浏览 • 1回复 待解决
HarmonyOS 异常堆栈获取
1083浏览 • 1回复 待解决
DevEco Studio PreviewerLog如何查看SDK内部的日志 已解决
6851浏览 • 1回复 待解决
HarmonyOS sdk获取userAgent的方法
763浏览 • 1回复 待解决
如何动态根据资源名获取资源id
9886浏览 • 1回复 已解决
HarmonyOS 获取焦点api提示异常
931浏览 • 1回复 待解决
HarmonyOS 图片exif信息获取异常
1573浏览 • 1回复 待解决
HarmonyOS web获取定位异常,获取不到定位信息
1127浏览 • 1回复 待解决
HarmonyOS 获取系统中图片、视频资源,如何获取媒体资源文件类型?
1157浏览 • 1回复 待解决
选中图库的资源,然后获取资源的pixeMap
1640浏览 • 1回复 待解决
鸿蒙资源id哪里获取?
7381浏览 • 1回复 待解决
获取系统当前时间戳异常
1357浏览 • 1回复 待解决
HarmonyOS 如何在 struct 组件内部获取组件名称
780浏览 • 1回复 待解决
HarmonyOS 最新版flutter SDK在HarmonyOS上键盘弹起页面被顶起显示异常
1025浏览 • 1回复 待解决
HarmonyOS shortcuts配置字符串获取异常
591浏览 • 1回复 待解决
HarmonyOS webview浏览器获取定位异常
1323浏览 • 1回复 待解决
HarmonyOS photoAccessHelper 获取的图片资源无法获取图像宽高
1248浏览 • 1回复 待解决
通过相册名获取相册资源
1619浏览 • 1回复 待解决
HarmonyOS 通过uri获取到资源的Base64如何获取
1097浏览 • 1回复 待解决
HarmonyOS 使用 resourceManager 获取字符串资源,如何判断该资源是否存在
1116浏览 • 1回复 待解决
HarmonyOS resourceManager获取资源文件时间过久
849浏览 • 1回复 待解决
目前整体分析如下:
1、对于HAP包自带全局Context,对应resourceManager的接口只会读取HAP下的resource资源;
2、对于HSP包需要使用createModuleContext(moduleName)创建独立的Context,对应resourceManager的接口只会读取HSP下的resource资源;
3、对于HAR包,目前没有自己的context,所以resourceManager像getStringValue这种接口会报资源找不到 — 当前问题根因;该问题对策如下:以字符串举例,HAR包可以通过resourceManager的getStringByNameSync接口获取到字符串文本。
但是有个规则:
1、如果是HAP包直接依赖的HAR包,则需要使用getContext().resourceManager来获取resourceManager;
2、如果是HSP包直接依赖的HAR包,这需要使用getContext().createModuleContext(moduleName).resourceManager来获取resourceManager;参考示例如下: