鸿蒙DevEvo Studio运行React Native生成的bundle文件遇到的一个问题

下面是运行到测试机上时的一段报错信息

bash 复制代码
Reason:Signal:SIGABRT(SI_TKILL)@0x01317b240000d29c from:53916:20020004
LastFatalMessage:█____ RNInstanceFactory.h:267> The C_API architecture also needs to be enabled on the CPP side. Have you set the RNOH_C_API_ARCH="1" environment variable, completely closed and reopened DevEco Studio and run Build > Clean Project?

这里指出的是一个环境变量,最开始时我在~/.bash_profile配置了相应的下面环境配置

bash 复制代码
PATH=$PATH:/Users/xxx/Library/OpenHarmony/Sdk/12/toolchains
export HDC_SERVER_PORT=7035
launchctl setenv HDC_SERVER_PORT $HDC_SERVER_PORT
export RNOH_C_API_ARCH=1

这样在控制台输入

bash 复制代码
echo $RNOH_C_API_ARCH

结果也是返回1的,但打开DevEvo Studio运行app还是不生效,还是报错,这是因为终端目前用的不是shell,而是zsh,像下面这样输入,可以看到终端用的是zsh

bash 复制代码
echo $SHELL

输出结果为:/bin/zsh,这是因为目前的终端用的不是shell,所以之前设置~/.bash_profile是没有用的

此时可以在zsh 的配置文件中配置引入~/.bash_profile中的环境配置

bash 复制代码
打开zsh的本地配置文件
vim ~/.zshrc

文件末尾加入下面配置
source ~/.bash_profile

保存退出后使环境生效
source ~/.zshrc

这样重启后还是不能解决之前的报错,然后打开目前鸿蒙工程的根目录,删除工程中之前构建编译产生的缓存

bash 复制代码
打开现有工程的根目录
cd /Users/xxx/Desktop/code-hm/harmonyajkproject

清空相应的缓存
rm -rf entry/build
rm -rf entry/.cxx
rm -rf build
rm -rf oh_modules/.cache

这样重启后打开DevEvo Studio还是不行,这里需要在终端打开DevEvo Studio,因为可能DevEvo Studio不会默认去读取终端里的环境配置

bash 复制代码
open /Applications/DevEco-Studio.app

如此折腾一番,还是报错,最后终极的解决办法,如下:

Cmd + Shift + F (macOS) 或 Ctrl + Shift + F (Windows)

在搜索框中输入:CMakeLists.txt,在这个CMakeLists.txt文件的开发加入下面这行配置代码:

bash 复制代码
set(RNOH_C_API_ARCH 1)

然后在菜单栏的 Build > Clean Project 清理项目,再重新编译运行

相关推荐
古茗前端团队1 天前
由 key 引发的思考
前端·javascript·react.js
用户298698530145 天前
React 前端将 Excel 工作表导出为图片的技术实践
javascript·react.js·excel
码间留白5 天前
uni-app 鸿蒙离线打包:一个改动从源码到真机要穿过几条链
uni-app·鸿蒙·deveco·离线打包·uts插件
码间留白6 天前
鸿蒙端对接 BLE 血压计:从一次握手到读数入库(二)设备篇
物联网·uni-app·鸿蒙·蓝牙ble·血压计
終不似少年遊*6 天前
【安全业务Agent】从场景到编排
python·react.js·ai·langchain·agent·安全架构·工作流
行者-全栈开发6 天前
【共创稿事节】HarmonyOS 应用上架全流程中的隐私合规:权限最小化、数据本地化与 AppAnalyzer 体检
harmonyos·鸿蒙·隐私合规·应用上架·agc·appanalyzer
JavaPub-rodert6 天前
从零搭建通用管理后台:ShiyuAdmin 的 Go、React 与 RBAC 实践
开发语言·react.js·golang
Highcharts.js7 天前
React 中原生支持使用 JSX 组件配置自定义表格 Highcharts Grid
前端·javascript·react.js·前端框架·jsx·highcharts·自定义表格
JudithHuang7 天前
React 嵌套路由与布局
前端·react.js·arcgis·react·react router
熊猫钓鱼>_>7 天前
三方库 NDK 原生模块跨平台适配与调试【鸿蒙心迹】
开发语言·华为·ai编程·harmonyos·鸿蒙·openharmony·鸿蒙心迹