HarmonyOS har 模块不能读取 rawfile 下的资源
有三个模块分别是 har_lib, hsp_lib, entry;
每个模块下都有 rawfile, 其中:
har_lib: rawfile/har/xxx.json
hsp_lib: rawfile/hsp/xxx.json
entry: rawfile/entry/xxx.json
模块代码:
- har_lib 模块:
import { Context } from '@kit.AbilityKit'
export const har_lib = (context: Context): void => {
const resourceManager = context.resourceManager
const list = resourceManager.getRawFileListSync('')
console.warn('har_lib list: ', JSON.stringify(list))
}
- hsp_lib 模块:
export * from 'har_lib'
- entry 模块:
import {har_lib} from 'har_lib' 或者 import {har_lib} from 'hsp_lib'
har_lib(this.context)
场景1: 如果entry 仅仅引入 har_lib, 且执行 har_lib();
输出:har_lib list: ["entry","har"]
场景2:如果 entry 仅仅引入 hsp_lib, hsp_lib 引入 har_lib, 在 entry 中执行 har_lib();
输出: har_lib list: ["entry"]
目前项目是按照场景2构建的,导致在 har_lib 中不能读取 rawfile。请问有什么好的解决方案。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HAR能读到另一个HAR里的rawfile文件吗
1835浏览 • 1回复 待解决
读取rawfile下的文件如何读取所有的内容?
1915浏览 • 1回复 待解决
hsp模块里rawfile文件读取问题
319浏览 • 1回复 待解决
HarmonyOS getRawFileContentSync读取rawfile下的文件返回空
170浏览 • 1回复 待解决
无法读取到hsp模块中的rawfile文件
1991浏览 • 1回复 待解决
HarmonyOS 如何读取rawfile文件下json文件的内容?
218浏览 • 1回复 待解决
HarmonyOS 应用怎么获取resource/rawfile路径下的图片资源
42浏览 • 1回复 待解决
HarmonyOS 资源管理对于rawfile中的文件如何按行读取?
401浏览 • 1回复 待解决
HarmonyOS HSP模块的页面怎么加载entry模块下的本地web资源?
252浏览 • 2回复 待解决
harmonyOS next 读取RawFile资源文件夹下的文件一直报错
1041浏览 • 0回复 待解决
appscope里定义的资源在Har里不能引用
238浏览 • 1回复 待解决
HarmonyOS feature中依赖的har中资源文件读取问题
498浏览 • 1回复 待解决
HarmonyOS 读取本地RawFile文件失败
39浏览 • 1回复 待解决
HarmonyOS hsp module 在多target模式下中获取rawfile资源失败
213浏览 • 1回复 待解决
HarmonyOS 使用ablity上下文无法加载到别的module放在rawfile下的资源
40浏览 • 1回复 待解决
HarmonyOS http如何读取rawfile中的证书问题
31浏览 • 1回复 待解决
Preview是否支持读取rawfile文件
2488浏览 • 1回复 待解决
pthread创建的线程中如何读取rawfile
1992浏览 • 1回复 待解决
fs.readTextSync方法为什么只能读取到文件的一行,有什么方法读取全部文件?
2095浏览 • 1回复 待解决
如何读取拷贝resources/rawfile文件下的模型文件到手机,并在jni使用该文件
1992浏览 • 1回复 待解决
HAP中如何引用HAR包中resources目录的element目录、media目录和rawfile目录资源
2237浏览 • 1回复 待解决
HarmonyOS fs模块读取文件的问题
572浏览 • 1回复 待解决
HSP中rawfile里的视频不能播放
361浏览 • 1回复 待解决
读取Rawfile中的文件,并转存/渲染的方法
1375浏览 • 1回复 待解决
HarmonyOS apng库如何加载rawfile资源
69浏览 • 1回复 待解决
出现该问题原因是由于entry是直接访问不到hsp中har的资源的,需要createModuleContext才行
请参考如下实现方案:
先创建hsp的上下文,再用getRawFileContent获取内容:
获取hsp的上下文,请尝试这个:
Context.createModuleContext,
参考文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-context-stage-V5#获取本应用中其他module的context
moduleName获取请参考:
1、获取har所在hsp或者hap模块的模块名:解决方案:让hap或者hsp自己传参给har。
2、 若在entry引入har,无需moduleName,直接getContext().resourceManager,
若在hsp引入,需模块名 需getContext().createModuleContext(moduleName).resourceManager
注意:createModuleContext仅支持获取本应用中其他Module的Context和应用内HSP的Context,不支持获取其他应用的Context。