You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在React Native Android项目中添加多个JSIModule?

你的现有实现存在错误,核心问题是类型不匹配:getJSIModulePackage 要求返回 List<JSIModulePackage> 类型,但你代码中初始化的是存储普通原生模块的 List<ReactPackage>,二者属于完全不同的接口,会直接触发编译报错。

正确实现方式如下:

  1. 保持你现有相关导入语句不变,调整方法逻辑即可:
import com.facebook.react.bridge.JSIModulePackage;
import com.ammarahmed.mmkv.RNMMKVJSIModulePackage;
import com.swmansion.reanimated.ReanimatedJSIModulePackage;
import java.util.ArrayList;
import java.util.List;

...

@Override
protected List<JSIModulePackage> getJSIModulePackages() {
  // 注意:RN 0.65及以上版本方法名为复数 getJSIModulePackages
  // 0.64及更低版本为单数 getJSIModulePackage,返回单个JSIModulePackage时可自行适配组合逻辑
  List<JSIModulePackage> jsiModulePackages = new ArrayList<>();
  jsiModulePackages.add(new RNMMKVJSIModulePackage());
  jsiModulePackages.add(new ReanimatedJSIModulePackage());
  return jsiModulePackages;
}
  1. 额外注意事项:
  • 普通原生模块依然在原来的getPackages方法中添加即可,不要混入JSI模块包列表,二者加载逻辑完全独立
  • 修改完成后清理Android项目build缓存,再重新编译运行,避免缓存导致模块加载失效

内容的提问来源于stack exchange,提问作者Dániel Boros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 02:48:03