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))
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- hsp_lib 模块:
export * from 'har_lib'
- 1.
- entry 模块:
import {har_lib} from 'har_lib' 或者 import {har_lib} from 'hsp_lib'
har_lib(this.context)
- 1.
- 2.
场景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文件吗
2577浏览 • 1回复 待解决
读取rawfile下的文件如何读取所有的内容?
2800浏览 • 1回复 待解决
hsp模块里rawfile文件读取问题
1054浏览 • 1回复 待解决
HarmonyOS getRawFileContentSync读取rawfile下的文件返回空
873浏览 • 1回复 待解决
无法读取到hsp模块中的rawfile文件
2845浏览 • 1回复 待解决
HarmonyOS 如何读取rawfile文件下json文件的内容?
1135浏览 • 1回复 待解决
HarmonyOS 怎么读取子模块resources->rawfile中的文件?
807浏览 • 1回复 待解决
HarmonyOS 怎么遍历读取rawfile下的目录和文件信息?
859浏览 • 1回复 待解决
HarmonyOS 应用怎么获取resource/rawfile路径下的图片资源
661浏览 • 1回复 待解决
HarmonyOS 资源管理对于rawfile中的文件如何按行读取?
1137浏览 • 1回复 待解决
HarmonyOS HAR静态库打包时,是否支持携带RawFile资源
705浏览 • 1回复 待解决
HarmonyOS HSP模块的页面怎么加载entry模块下的本地web资源?
1010浏览 • 2回复 待解决
harmonyOS next 读取RawFile资源文件夹下的文件一直报错
2040浏览 • 0回复 待解决
appscope里定义的资源在Har里不能引用
844浏览 • 1回复 待解决
HarmonyOS feature中依赖的har中资源文件读取问题
1194浏览 • 1回复 待解决
HarmonyOS Rawfile中的json文件读取
975浏览 • 1回复 待解决
HarmonyOS 读取本地RawFile文件失败
1237浏览 • 1回复 待解决
HarmonyOS 公有目录(AppScope )资源,多个模块引用,运行时的读取情况
739浏览 • 1回复 待解决
HarmonyOS hsp module 在多target模式下中获取rawfile资源失败
1061浏览 • 1回复 待解决
HarmonyOS 使用ablity上下文无法加载到别的module放在rawfile下的资源
580浏览 • 1回复 待解决
HarmonyOS http如何读取rawfile中的证书问题
804浏览 • 1回复 待解决
Preview是否支持读取rawfile文件
3464浏览 • 1回复 待解决
HarmonyOS RawFile下的文件的拷贝
683浏览 • 1回复 待解决
pthread创建的线程中如何读取rawfile
2720浏览 • 1回复 待解决
HarmonyOS 通过$rawfile(path)获取rowfile下的资源,如何识别这个path实际文件存在与否
768浏览 • 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。