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

React Native Keychain安卓getSupportedBiometryType空引用报错

react-native-keychain安卓端启动报错:Cannot read property 'getSupportedBiometryType' of null

已完成配置操作

  • 执行yarn add react-native-keychain安装依赖;针对React Native 0.59及以下版本执行react-native link react-native-keychain命令,同步检查MainApplication.java文件确认包已正确注册,若link流程异常则参考手动安装方案处理
  • 进入iOS目录执行pod install,完成iOS端依赖安装
  • 为适配FaceID能力,在Info.plist文件中添加NSFaceIDUsageDescription权限声明,所有配置完成后重建安卓、iOS端项目

异常现象

配置完成后iOS端运行状态正常,getSupportedBiometryType方法可根据设备生物认证的启用状态,正常返回对应字符串或null;但安卓端启动应用时触发渲染错误,报错信息如下:

Cannot read property 'getSupportedBiometryType' of null

后续已尝试重新执行react-native link命令、对照官方指南完成安卓端全流程手动安装,均未解决该问题。

当前项目核心依赖版本

  • react-native:0.64.2
  • react-native-keychain:^8.1.0

附参考材料

  • Keychain库引入截图
  • .getSupportedBiometryType()方法调用截图
  • 安卓设备端报错截图

修复方案

该报错的核心原因是安卓端Keychain Native模块未被正确注册,JS侧读取到的模块对象为null,针对当前使用的RN0.64.2 + react-native-keychain@8.1.0版本组合,按以下步骤操作即可修复:

  1. 全量清理构建缓存,排除旧构建产物干扰,在项目根目录依次执行以下命令:
    yarn cache clean
    cd android && ./gradlew clean && cd ..
    
    后续启动Metro服务时追加--reset-cache参数,避免JS缓存影响。
  2. 移除手动link产生的冗余配置。RN0.60及以上版本默认开启Autolinking,无需手动执行link操作,之前手动执行link、手动添加的配置反而会造成模块重复注册、加载失败:
    • 打开android/settings.gradle,删除所有手动添加的react-native-keychain引入配置,类似include ':react-native-keychain'的手动配置项全部移除
    • 打开android/app/src/main/java/[你的应用包名]/MainApplication.java,检查getPackages()方法,删除手动实例化KeychainPackage的相关代码,Autolinking会自动完成模块注册
  3. 校验安卓构建配置:react-native-keychain@8.x要求安卓端最小SDK版本≥23,打开android/build.gradle,确认全局minSdkVersion配置符合要求:
    buildscript {
        ext {
            // 其余配置保持不变
            minSdkVersion = 23
        }
    }
    
  4. 若项目开启了ProGuard代码混淆,打开android/app/proguard-rules.pro,添加以下混淆规则,避免Keychain相关类被混淆裁剪:
    -keep class com.oblador.keychain.** { *; }
    
  5. 完成上述操作后,重新执行构建命令启动安卓端即可:
    npx react-native run-android
    

补充说明:同版本组合下90%以上的该类报错,都是手动link产生的冗余配置、minSdkVersion不满足要求、构建缓存未清理三类原因导致,按步骤排查即可解决,无需额外修改源码。

内容的提问来源于stack exchange,提问作者Branislav Brnjos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 06:24:24