【鸿蒙】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: *** ** * ** *** ## 总结 以上就是鸿蒙跨平台 开发过程中 遇到的问题,后期会不定时补充,欢迎大家留言交流。

相关推荐
用户5457483417718 分钟前
HarmonyOS Next应用开发实战——登录页面实现(part1)
harmonyos
用户5457483417720 分钟前
HarmonyOS Next应用开发实战——底部弹框组件的实现(part1)
harmonyos
用户5457483417722 分钟前
HarmonyOS Next应用开发实战——底部弹框组件的实现(part2)
harmonyos
用户5457483417723 分钟前
HarmonyOS Next应用开发实战——多功能页面组件构建(part1)
harmonyos
用户5457483417724 分钟前
HarmonyOS Next应用开发实战——多功能页面组件构建(part2)
harmonyos
星释34 分钟前
鸿蒙Flutter实战:18-组合而非替换,现有插件快速鸿蒙化
flutter·华为·harmonyos
90后的晨仔1 小时前
鸿蒙开发中的常见关键字简单总结
harmonyos
二流小码农1 小时前
鸿蒙开发:使用Ellipse绘制椭圆
android·ios·harmonyos
别说我什么都不会2 小时前
OpenHarmony解读之设备认证:sts协议-客户端发起start请求
物联网·嵌入式·harmonyos
聆听秋天的风2 小时前
HarmonyOS NEXT练习:跑马灯
harmonyos