此文档适用于 uni-app 4.31(待发布)及之后的版本,4.31之前的版本请参考:鸿蒙离线集成
如下文档使用/resource
指代鸿蒙资源输出目录
/entry/src/main/ets/uni_modules/index.generated.ets
, 如果目录不存在则需要手动创建移动/resource/uni_modules/index.generated.ets
文件到鸿蒙项目/entry/src/main/ets/uni_modules/index.generated.ets
移动/resource/uni_modules
目录下的 uts api 模块目录到鸿蒙项目/uni_modules
目录
编译到鸿蒙时每个 uts api 的 uni_module 都会创建一个鸿蒙的静态库。对于静态库有两个概念需要区分一下。
对于一个名称为 uni-getBatteryInfo 的 uni_module,它的 moduleName 为uni_modules__uni_getbatteryinfo
,packageName 为@uni_modules/uni-getbatteryinfo
。
packageName 规则较为简单,给 uni_module 名称前加上@uni_modules
前缀然后转为全小写。
moduleName 是在 packageName 的基础上生成的,移除@符号,将/替换为两个下划线,将-替换为一个下划线
oh-package.json5
为所有本地 uts api 的 uni_module 及其他三方依赖注册 packageName。uni-app 编译器会自动在/resource/uni_modules
目录下生成oh-package.json5
文件,该文件包含了所有依赖的信息,可以直接将此文件合并到鸿蒙项目的oh-package.json5
文件内。
以 uni-getBatteryInfo 为例,在oh-package.json5
文件内dependencies
字段下添加如下内容
"@uni_modules/uni-getbatteryinfo": "./uni_modules/uni-getbatteryinfo"
build-profile.json5
为所有本地 uts api 的 uni_module 注册 moduleName。uni-app 编译器会自动在/resource/uni_modules
目录下生成build-profile.json5
文件,该文件包含了所有模块的信息,可以直接将此文件合并到鸿蒙项目的build-profile.json5
文件内。
以 uni-getBatteryInfo 为例,在build-profile.json5
文件内modules
数组内添加如下内容
{
"name": "uni_modules__uni_getbatteryinfo",
"srcPath": "./uni_modules/uni-getBatteryInfo"
}
/entry/src/main/resources/resfile/apps/HBuilder
目录(注意是 resfile 不是 rawfile,如果没有此目录需手动创建)。