FAQ-鸿蒙sdk如何动态设置appkey和channel?
使用preInit方法覆盖umconfig.json中的appkey和channel
示范代码根据构建参数设置不同的appkey
import BuildProfile from 'entry/BuildProfile';
setLogEnabled(true);
export default class MyAbilityStage extends AbilityStage {
onCreate() {
// LogUtil.disable();
// Logger.disable=true;
let buildMode = BuildProfile.BUILD_MODE_NAME;
console.log('build mode is ', buildMode);
let appKey = buildMode == "debug" ? 'debug的appkey' : '正式的appkey';
let channel = buildMode == "debug" ? 'debug' : 'release';
preInit({
context: this.context.getApplicationContext(),
plugins: [new InternalPlugin({}), new ApmPlugin({runInWorker:true,enableJSCatch:false})],
appKey: appKey,
channel: channel,
});
init();
}
}上述代码中 BuildProfile怎么来的可参考鸿蒙官方的开发文档,如何获取构建参数 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-hvigor-get-build-profile-para-guide#section16792943572, 特别注意,BuildProfile的引入,尤其是在hap中,通过hap的package.json中的包名/BuildProfile来获取,实际hap中并不会出现一个BuildProfile文件,但是可以引入,har包中不同,har包中会在模块根目录生成BuildProfile文件,这是正常的。
如需根据其他构建参数设置不同的appkey,比如为不同的product设置不同的appkey,也是同理一下是其他的参数示意图,其中PRODUCT_NAME对应不同的product
