HarmonyOS 鸿蒙Next多渠道打包
HarmonyOS 鸿蒙Next多渠道打包
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17
关于HarmonyOS 鸿蒙Next多渠道打包的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。
多渠道打包, 多个渠道依赖同一个第三方 har, 但是每个渠道对这个第三方har依赖的版本不同, 使用方式不同。
渠道 能否动态修改 对 某个 第三方har 依赖的版本
如何做
如下面的修改
export function customPlugin(): HvigorPlugin {
return {
pluginId: 'customPlugin',
async apply(currentNode: HvigorNode): Promise<void> {
const appContext = currentNode.getContext(OhosPluginId.OHOS_APP_PLUGIN) as OhosAppContext;
const dependency = appContext.getDependenciesOpt({}); //获取dependency依赖
dependency["@ohos/imageknife"]="^3.0.0"
console.log(dependency);
appContext.setDependenciesOpt(dependency ); //修改dependency依赖
}
};
}
export default {
system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. */
plugins:[customPlugin()] /* Custom plugin to extend the functionality of Hvigor. */
}
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
很喜欢HarmonyOS的卡片式设计,信息一目了然,操作也更便捷。
dependency["@ohos/imageknife"]="^3.0.0" 这个可以啊, 厉害
还有个问题, 想请教下大佬。 我用Har多渠道, 用的是 OhosHarContext OhosHarContext这个类, 怎么获取到当前是给那个渠道打渠道包啊
看官方文档, 没有发现OhosHarContext 有 getCurrentProduct 这个方法
我想到的是创建多个HSP模块,对应三方HAR不同版本,项目用三方HAR某个版本时,使用动态加载HSP模块。
我们是HAR提供方, 供给其他HSP使用的, 就是不知道HAR多渠道打包, 如何动态加载第三方HAR模块
我知道的HAR不能动态加载吧,要打包为HSP才能动态载。
OhosHarContext
Har模块上下文接口信息与OhosHapContext一致,请参考上文中OhosHapContext接口描述
OhosHapContext 这个类里面, 没有 获取当前product的 名称啊
只有 这个 OhosAppContext 有一个 getCurrentProduct
是的,估计是要在APP上下文,才有Product这层配置,其它模块里没有。
嗯嗯, 那HAR,根据渠道的动态化, 只能去手动改了