OHPM客户端在1.6.0版本开始支持参数化配置。可以在项目级别的oh-package.json5文件(即项目根目录下的oh-package.json5)中添加parameterFile配置,并同时指定parameterFile文件路径。
实现代码读取parameterFile文件内容,可以把parameterFile.json5文件放到rawfile文件下面,然后用getRawFileContent读取。
import { Context } from '@kit.AbilityKit'; import { buffer } from '@kit.ArkTS'; @Entry @Component struct Index { private context: Context = this.getUIContext().getHostContext()!; private str: string = ''; getRawFile(): ESObject { // 调用getRawFileContent接口获取json文件内容,并读为string this.context.resourceManager.getRawFileContent('parameterFile.json5', (err, data) => { try { this.str = buffer.from(data.buffer).toString(); let obj: ESObject = JSON.parse(this.str); console.info('ESObject', JSON.stringify(obj)); return obj; } catch (e) { console.error(JSON.stringify(e)); } }); } build() { Column() { Button('get') .onClick(() => { this.getRawFile(); }) }.width('100%') } }
parameterFile.json5内容不要添加注释。
Q:是否可以根据不同的target动态读取parameterFile文件?
A:目前不支持不同的target动态读取parameterFile文件,但可以参考一仓多包示例根据不同target配置对应参数。