HarmonyOS 鸿蒙Next中如何使用子模块中的静态资源
HarmonyOS 鸿蒙Next中如何使用子模块中的静态资源 因跨端及跨app使用同一套配置文件的需求,需要在项目中导入配置文件的子模块,其中仅有json文件,无项目结构,在安卓中可以用sourceSets的方法,在鸿蒙中怎么处理呢
sourceSets {
main {
// 直接将subModule/files作为assets源目录
assets.srcDirs += ['../config/files']
}
}
将静态资源的subModule直接放在entry的rawfile里了,这样最省事
更多关于HarmonyOS 鸿蒙Next中如何使用子模块中的静态资源的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
跨模块资源访问, har 和 hsp包略有不同。
https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-cross-module-resource-access
在HarmonyOS Next中,子模块静态资源需通过$r方法引用。首先在模块的resources目录下存放资源文件,如图片、字符串等。然后在代码中使用$r(‘app.type.name’)格式加载,其中type为资源类型(如media、string),name为资源名称。确保模块已在主模块的build-profile.json5中正确配置依赖。资源访问路径基于模块资源索引自动生成。
在HarmonyOS Next中,可以通过在模块级 build-profile.json5
文件中配置 resourceOverlay
来实现类似功能。具体操作如下:
- 在子模块目录中创建
resources
文件夹,将 JSON 文件放入其中 - 在主模块的
build-profile.json5
中添加:
"resourceOverlay": {
"subModulePath": "./config/files"
}
- 构建时系统会自动将子模块的静态资源合并到主模块资源中
这样配置后,即可通过 ResourceManager
正常访问这些 JSON 文件。此方法支持跨模块资源复用,且符合鸿蒙的资源管理规范。