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

React Native中RNPermissions模块未找到报错求助

React Native集成谷歌移动广告时RNPermissions TurboModule找不到的解决办法

问题描述

我是React Native新手,在集成谷歌移动广告过程中遇到报错:

Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNPermissions' could not be found. Verify that a module by this name is registered in the native binary.

导入代码:

import { check, request, PERMISSIONS, RESULTS } from 'react-native-permissions';

环境:Android模拟器运行,已执行npm start和npx expo run:android,所有依赖为最新版本,尝试多种方案未解决。


解决步骤

  • 确认依赖安装状态
    执行命令检查react-native-permissions是否已安装:

    npm list react-native-permissions
    

    若未安装,执行安装命令:

    npm install react-native-permissions
    

    Expo项目需确保使用兼容版本,避免依赖已废弃的expo-permissions。

  • 配置Android权限(Expo项目)
    在app.json或app.config.js中添加插件配置,按需声明所需权限:

    "expo": {
      "plugins": [
        [
          "react-native-permissions",
          {
            "androidPermissions": [
              "android.permission.INTERNET",
              // 按需添加广告相关权限,如ACCESS_FINE_LOCATION等
            ]
          }
        ]
      ]
    }
    
  • 清理缓存并重新构建

    1. 清除npm缓存:
      npm cache clean --force
      
    2. 清除Expo缓存:
      npx expo start --clear
      
    3. 删除Android构建目录(按需执行):
      # Mac/Linux
      rm -rf android/app/build
      # Windows
      rmdir /s /q android\app\build
      
    4. 重新构建项目:
      npx expo run:android
      
  • 裸RN项目检查模块注册
    若为裸React Native项目,需确保MainApplication.java中注册了RNPermissions模块:

    import com.reactnativecommunity.permissions.RNPermissionsPackage;
    
    @Override
    protected List<ReactPackage> getPackages() {
      List<ReactPackage> packages = new PackageList(this).getPackages();
      packages.add(new RNPermissionsPackage());
      return packages;
    }
    

    注册后重新编译项目。

  • 验证版本兼容性
    确认react-native-permissions与当前React Native、Expo版本兼容,可查看依赖的官方版本适配说明,避免因版本不匹配导致模块注册失败。


内容的提问来源于stack exchange,提问作者Danny Ellis Jr.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:42:08