HarmonyOS鸿蒙Next中关于RN项目在鸿蒙项目运行问题

HarmonyOS鸿蒙Next中关于RN项目在鸿蒙项目运行问题 RN项目需要运行在鸿蒙项目上,代码和组建都很多。

我的0.72.5的完整的项目需要运行在鸿蒙上需要做哪些工作。

1: 是要像示例demo Ecosystem Solution ReactNative 5.0.0.302.zi里面的第二步那样一次性加完依赖的步骤就可以生成bundle包了吧。还是需要怎么处理

2: 生成的BUNDLE包放到一个原生的鸿蒙项目里面就可以运行了吧。 效果就和RN运行的一致? 鸿蒙侧代码不需要改动吧?

3 回复

一. 根据开发指导中 安装鸿蒙依赖包并生成 bundle ,执行完 npm i 加载完依赖后,编辑代码,完成后执行 npm run dev 就可以生成 bundle 包了

二. bundle 加载到原生鸿蒙项目须根据指导文档,先根据 3.2 加载 har 包在项目中添加 react_native_openharmony_5.0.0.302.har 和 sample_package_5.0.0.302.har,再替换相关配置文件并修改到正确的路径和版本。最后再通过 3.3 加载 bundle 包的方式一,将相关文件根据文档进行替换即可。

相关替换文档都完成后运行效果是与 rn 运行一致的,鸿蒙侧代码无需变动

  1. 需要配置 CMakeLists.txt 中增加对应三方库的编译配置

  2. 在 entry/src/main/cpp/PackageProvider.cpp 中增加对应三方库包的引入

参考:

  1. https://gitee.com/react-native-oh-library/usage-docs/blob/master/zh-cn/react-native-community-datetimepicker.md#配置-cmakelists-和引入-datetimepicker

  2. 参考每个三方库文档,是需要在鸿蒙项目中添加相应的配置的,例如 https://gitee.com/react-native-oh-library/usage-docs/blob/master/zh-cn/model.md

请排查一下以下问题:

  1. react-navigation/native-stack 在 HarmonyOS 侧实现依赖 @react-native-oh-library/react-native-safe-area-context 的原生端代码,需要在 HarmonyOS 工程中引入过该库

  2. 需要使用正确的 React-Native 和 RNOH 版本。另外,还需要使用配套的 DevEco Studio 和 手机 ROM。请到三方库相应的 Releases 发布地址查看 Release 配套的版本信息:https://github.com/react-native-oh-library/react-navigation/releases

请确认环境变量中有配置 RNOH_C_API_ARCH 环境变量的值为 1

  1. 确认下所有依赖都是否按照文档有正确安装。

  2. 原生库安装都有生成 codegen,并且 codegen 生成的文件是否放在正确位置。

  3. 前两个都没问题还是会报这个错,将 entry 下面的 .cxx 文件删除重新编译。

这个报错是缓存的问题, clean project 后重新编译是没有问题了

更多关于HarmonyOS鸿蒙Next中关于RN项目在鸿蒙项目运行问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,RN(React Native)项目在鸿蒙项目中的运行问题主要涉及兼容性和框架适配。鸿蒙Next的架构与传统的Android系统不同,RN项目在鸿蒙上运行时需要针对鸿蒙的API和系统特性进行适配。鸿蒙Next提供了ArkUI框架,RN项目需要通过鸿蒙的JS引擎和ArkUI组件进行渲染和交互。开发者需要将RN的JS代码与鸿蒙的JS引擎进行集成,并确保RN的组件能够正确映射到鸿蒙的ArkUI组件上。此外,RN项目中的原生模块也需要针对鸿蒙的API进行重写或适配,以确保功能在鸿蒙系统上正常运行。鸿蒙Next的分布式能力也需要在RN项目中进行适配,以实现跨设备的协同工作。

在HarmonyOS鸿蒙Next中运行RN(React Native)项目时,可能会遇到兼容性问题。首先,确保RN版本支持鸿蒙系统,建议使用最新版本。其次,检查项目依赖库是否兼容鸿蒙,部分库可能需要替换或修改。最后,使用鸿蒙提供的开发工具进行调试和优化,确保应用在鸿蒙系统上稳定运行。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!