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

相关推荐
键盘鼓手苏苏3 小时前
Flutter 三方库 p2plib 的鸿蒙化适配指南 - 实现高性能的端到端(P2P)加密通讯、支持分布式节点发现与去中心化数据流传输实战
flutter·harmonyos·鸿蒙·openharmony
加农炮手Jinx3 小时前
Flutter for OpenHarmony:postgrest 直接访问 PostgreSQL 数据库的 RESTful 客户端(Supabase 核心驱动) 深度解析与鸿蒙适配指南
数据库·flutter·华为·postgresql·restful·harmonyos·鸿蒙
加农炮手Jinx3 小时前
Flutter 组件 heart 适配鸿蒙 HarmonyOS 实战:分布式心跳监控,构建全场景保活检测与链路哨兵架构
flutter·harmonyos·鸿蒙·openharmony
钛态4 小时前
Flutter 三方库 http_mock_adapter — 赋能鸿蒙应用开发的高效率网络接口 Mock 与自动化测试注入引擎(适配鸿蒙 HarmonyOS Next ohos)
android·网络协议·flutter·http·华为·中间件·harmonyos
王码码20354 小时前
Flutter for OpenHarmony:Flutter 三方库 algoliasearch 毫秒级云端搜索体验(云原生搜索引擎)
android·前端·git·flutter·搜索引擎·云原生·harmonyos
王码码20354 小时前
Flutter 三方库 dns_client 的鸿蒙化适配指南 - 告别 DNS 劫持、探索 DNS-over-HTTPS (DoH) 技术、构建安全的鸿蒙网络请求环境
flutter·harmonyos·鸿蒙·openharmony·dns_client
键盘鼓手苏苏4 小时前
Flutter 组件 highlighter 适配鸿蒙 HarmonyOS 实战:高性能语法高亮,构建大规模代码分析与文本染色架构
flutter·harmonyos·鸿蒙·openharmony
国医中兴4 小时前
Flutter 三方库 langchain_google 的鸿蒙化适配指南 - 链接 Gemini 智慧中枢、LangChain AI 实战、鸿蒙级智能应用专家
flutter·langchain·harmonyos
左手厨刀右手茼蒿4 小时前
Flutter for OpenHarmony: Flutter 三方库 shamsi_date 助力鸿蒙应用精准适配波斯历法(中东出海必备)
android·flutter·ui·华为·自动化·harmonyos
雷帝木木4 小时前
Flutter 三方库 http_client_interceptor 的鸿蒙化适配指南 - 实现原生 HttpClient 的全量请求拦截、支持端侧动态 Headers 注入与网络流量审计实战
flutter·harmonyos·鸿蒙·openharmony·http_client_interceptor