【鸿蒙】ArkUI-X跨平台问题集锦

系列文章目录

【鸿蒙】ArkUI-X跨平台问题集锦


文章目录

  • 系列文章目录
  • 问题集锦
      • [1、HSP,HAR模块中 无法引入import bridge from '@arkui-x.bridge';](#1、HSP,HAR模块中 无法引入import bridge from '@arkui-x.bridge';)
      • [2、CustomDialog 自定义弹窗中的点击事件在Android 中无任何响应;](#2、CustomDialog 自定义弹窗中的点击事件在Android 中无任何响应;)
      • [3、调用 buildRouterMode() 路由跳转页面前,必须手动import('/*page')页面。无法自动导入?](#3、调用 buildRouterMode() 路由跳转页面前,必须手动import('/*page')页面。无法自动导入?)
      • 4、主题Android\iOS未适配沉浸式;
      • 5、华为一键登录控件,不支持跨平台;
      • 6、webview.registerJavaScriptProxy不支持跨平台,不支持创建H5桥接对象
      • [7、平台差异化,代码如何只编译鸿蒙平台 或者Android、iOS平台,避免编译报错,不支持某平台问题;](#7、平台差异化,代码如何只编译鸿蒙平台 或者Android、iOS平台,避免编译报错,不支持某平台问题;)
      • [8、关于DevEco Studio编译时报错问题解决,报错:" xxx can't support crossplatform application. "](#8、关于DevEco Studio编译时报错问题解决,报错:“ xxx can't support crossplatform application. ”)
      • [9、在Android中无法使用JSON解析,报错: Load native module failed, so is @ohos:util.json](#9、在Android中无法使用JSON解析,报错: Load native module failed, so is @ohos:util.json)
      • [10、DevEco Studio中build App无异常,在Android端启动时闪退,提示找不到ability](#10、DevEco Studio中build App无异常,在Android端启动时闪退,提示找不到ability)
      • [11、在Android中,跳转页面,闪退报错 GetModuleBuffer failed.](#11、在Android中,跳转页面,闪退报错 GetModuleBuffer failed.)
  • 总结

问题集锦

1、HSP,HAR模块中 无法引入import bridge from '@arkui-x.bridge';

报错:Cannot find module '@arkui-x.bridge' or its corresponding type declarations. 找不到模块"@arkui-x.bridge"或其对应的类型声明<ArkTS检查>

原因:模块不支持跨平台,所以无法引入。

解决:

(推荐)方案一、

在项目.arkui-x/arkui-x-config.json5文件中,配置模块名称;

例如:

"modules": [

"arkuix", "utils"

]

(不推荐)方案二、在entry模块 引入bridge;

其他模块通过线程通讯emitter, 调用桥接 ;

2、CustomDialog 自定义弹窗中的点击事件在Android 中无任何响应;

解决:CustomDialogController 实例化时,不要设置showInSubWindow: true,默认值应为false,表示弹窗仅在应用内显示;

3、调用 buildRouterMode() 路由跳转页面前,必须手动import('/*page')页面。无法自动导入?

解决:entry模块未配置模块动态导入;

参考文档:动态import变量表达式

4、主题Android\iOS未适配沉浸式;

5、华为一键登录控件,不支持跨平台;

解决:自定义华为登录按钮 调用登录API;

参考文档:使用自定义按钮登录

6、webview.registerJavaScriptProxy不支持跨平台,不支持创建H5桥接对象

解决方案:仅鸿蒙用此web,其他平台Android、iOS跳转至原生Web页面实现。
官方说明:当前该api内部已规划需求,请持续关注后续版本更新。

7、平台差异化,代码如何只编译鸿蒙平台 或者Android、iOS平台,避免编译报错,不支持某平台问题;

调整架构设计,参考文档:跨平台应用改造指南

8、关于DevEco Studio编译时报错问题解决,报错:" xxx can't support crossplatform application. "

解决:修改静态编辑检查配置文件 C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\ets\build-tools\ets-loader\lib\fast_build\system_api\api_check_utils.js

修改此配置为警告

"CROSSPLATFORM_TAG_CHECK_ERROER,!1,_typescript.default.DiagnosticCategory.Warning"

参考文档:关于DevEco Studio编译时报错问题解决

9、在Android中无法使用JSON解析,报错: Load native module failed, so is @ohos:util.json

default\] Throw error: Cannot read property parse of undefined \[default\] at anonymous (arkuix\|network\|1.0.0\|src/main/ets/Request.ts:86:1) > 解决方案: > > 使用JSON,不用导包,导包反而报错,移除以下代码即可; > > // import JSON from '@ohos.util.json'; > > 其他API加载失败请参考:[异常Load native module failed, so is @ohos](https://gitcode.com/arkui-x/arkui_for_android/issues/2) #### 10、DevEco Studio中build App无异常,在Android端启动时闪退,提示找不到ability 报错:ReferenceError: Cannot find module 'com.../entry/ets/entryability/EntryAbility' , which is application Entry Point > 解决方案: > > 在项目根目录下build-profile.json5中,将以下代码注释掉;即可正常运行了 > > // "useNormalizedOHMUrl": true > > 相关[Issues:如何为纯HarmonyOS项目添加arkuix的支持](https://gitcode.com/arkui-x/docs/issues/187) #### 11、在Android中,跳转页面,闪退报错 GetModuleBuffer failed. 报错如下: E [js_module_reader.cpp(47)] GetModuleBuffer failed. A [default] [LoadJSPandaFile:101] resolveBufferCallback get hsp buffer failed, hsp path:/data/storage/el1/bundle/family/ets/modules.abc, errorMsg:modulePath: *** ** * ** *** ## 总结 以上就是鸿蒙跨平台 开发过程中 遇到的问题,后期会不定时补充,欢迎大家留言交流。

相关推荐
zhanshuo6 小时前
用鸿蒙做多人协作,真的可以跨屏秒同步!
harmonyos
zhanshuo6 小时前
HarmonyOS 开发:基于 ArkUI 实现复杂表单验证的最佳实践
harmonyos
嵌入之梦11 小时前
鸿蒙智能居家养老系统构思(续二)—— 适老化烹饪中心详细构思
智能家居·harmonyos·居家养老
鸿蒙开发工程师—阿辉12 小时前
HarmonyOS 应用拉起系列(一):应用与元服务互通方式
华为·harmonyos·arkts·鸿蒙
用户59514332217718 小时前
HarmonyOS开发:ArkUI相对布局RelativeContainer解决层级嵌套较多问题
harmonyos
用户59514332217718 小时前
HarmonyOS开发:ArkUI视觉效果之透明度、渐变、模糊、阴影、高亮一网打尽
harmonyos
用户59514332217718 小时前
HarmonyOS开发:ArkUI线性布局(Column/Row)完全解析
harmonyos
城中的雾18 小时前
HarmonyOS 5 应用拉起系列(一):应用与元服务互通方式
harmonyos
半夜偷删你代码1 天前
鸿蒙中相册权限弹窗
数码相机·华为·harmonyos
zhanshuo1 天前
鸿蒙系统下的动态负载均衡实战:让分布式任务调度更智能
harmonyos