HarmonyOS 如何加载RN构建出来的bundle文件
项目中有一部分功能时通过React Native实现的。React Native会打成bundle文件的形式提供给HarmonyOS调用。请问HarmonyOS中该如何实现类似功能?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HSP能否直接引用其他hsp构建出的.hsp文件
893浏览 • 1回复 待解决
HarmonyOS 通过CI构建出.app文件后,如何让设备主动去下载安装?
20浏览 • 1回复 待解决
一个项目构建出来的HSP不能在另一个项目中引入吗?
729浏览 • 1回复 待解决
HarmonyOS 应用是否支持根据不同打包配置,构建出来不一样的桌面应用图标
54浏览 • 1回复 待解决
HarmonyOS RN单bundle模式(有很多RN页面), 如何跳转到指定页面
134浏览 • 1回复 待解决
HarmonyOS 加载RN沙盒路径资源文件
191浏览 • 1回复 待解决
RN工程,Metro跑bundle无法识别应用
221浏览 • 1回复 待解决
HarmonyOS 自定义RN三端库,如何构建har包
33浏览 • 1回复 待解决
HarmonyOS relationalStore 数据库表未创建出来,插入报14800021
138浏览 • 1回复 待解决
HarmonyOS RN的bundle打包的时候什么样的资源会打进去?
221浏览 • 1回复 待解决
HarmonyOS rn_svg无法加载本地自定义地址svg文件
284浏览 • 1回复 待解决
HarmonyOS RN功能依赖包加载失败
83浏览 • 1回复 待解决
HarmonyOS 地图加载不出来
32浏览 • 1回复 待解决
RN集成HarmonyOS应用的方式,解压空工程压缩包 HarmonyEmptyProject.zip无法生成bundle包
469浏览 • 1回复 待解决
HarmonyOS 加载html,图片显示不出来
34浏览 • 1回复 待解决
HarmonyOS Lottie动画加载不出来
35浏览 • 1回复 待解决
HarmonyOS RN打包生成的Jsbundle文件, 如何进行hermesc的转换
45浏览 • 1回复 待解决
HarmonyOS 地图组件加载不出来,显示空白
1022浏览 • 1回复 待解决
HarmonyOS 如何分析NDK编译出来的so文件的体积组成
24浏览 • 1回复 待解决
如何获取指定Bundle Name的Ability信息
2005浏览 • 1回复 待解决
HarmonyOS flutter页面怎么这么慢加载出来
21浏览 • 1回复 待解决
自定义构建任务写入文件
837浏览 • 1回复 待解决
HarmonyOS 地图加载不出来,只显示背景
445浏览 • 1回复 待解决
方式一:本地加载bundle。
方式二:使用Metro服务加载bundle。
方式三:加载沙箱目录的bundle。
本地加载bundle:
将bundle文件和assets图片放在entry/src/main/resources/rawfile路径下,在 entry/src/main/ets/pages/Index.ets中使用。
使用Metro服务加载bundle:
在项目目录下运行生成bundle文件的命令。运行成功后,会在项目目录/harmony/entry/src/main/resources/rawfile 目录下生成bundle.harmony.js和assets 文件夹,assets用来存放图片。同时该条指令也会自动运行Codegen命令。
Codegen生成的文件默认放在项目目录/entry目录下,其中ArkTS的代码存放在了entry\oh_modules@rnoh\react-native-openharmony\generated目录中,cpp的代码存放在entry\src\main\cpp\generated目录中。
加载沙箱目录的bundle:
应用沙箱是一种以安全防护为目的的隔离机制,避免数据受到恶意路径穿越访问。在这种沙箱的保护机制下,应用可见的目录范围即为“应用沙箱目录”。
开发者在应用开发调试时,需要向应用沙箱下推送一些文件以期望在应用内访问或测试,此时有两种方式:
第一种:可以通过 DevEco Studio向应用安装路径中放入目标文件,详见应用安装资源访问。
第二种:在具备设备环境时,可以使用另一种更为灵活的方式,通过hdc工具来向设备中应用沙箱路径推送文件。推送命令如下,其中,沙箱路径可通过向应用沙箱推送文件查询:
hdc file send ${待推送文件的本地路径} ${沙箱路径}。
加载沙箱目录bundle,需要在RN App的 jsBundlePrivider参数中使用new。
FileJSBundleProvider(‘bundlePath’)将bundle注册进框架,并运行bundle。