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

React Native 0.75.x Android项目编译报错:Unresolved reference: BackgroundStyleApplicator

React Native 0.75.x Android项目编译报错:Unresolved reference: BackgroundStyleApplicator

我之前也踩过这个坑,这大概率是react-native-keyboard-controller库和React Native 0.75.x的版本兼容问题导致的,下面是几个亲测有效的解决办法:

  • 升级到兼容的库版本
    旧版本的react-native-keyboard-controller可能还没适配RN 0.75的代码变化,直接升级到最新稳定版就能解决大部分兼容问题。执行以下命令更新:

    # npm 命令
    npm install react-native-keyboard-controller@latest
    # 或者 yarn 命令
    yarn add react-native-keyboard-controller@latest
    

    更新完成后,清理Android构建缓存再重新编译:

    cd android && ./gradlew clean && cd .. && npx react-native run-android
    
  • 确认版本兼容性范围
    你可以查看react-native-keyboard-controller的package.json或者项目说明文档,确认当前使用的库版本是否明确支持RN 0.75.x。如果库还没适配这个版本,要么等待官方发布兼容更新,要么临时降级React Native到库支持的稳定版本(比如0.74.x系列),降级命令示例:

    npx react-native downgrade 0.74.3
    
  • 临时手动修复(不推荐长期使用)
    如果升级库后还是出现这个错误,有可能是库的打包文件遗漏了BackgroundStyleApplicator.kt类。你可以到node_modules/react-native-keyboard-controller/android/src/main/java/com/reactnativekeyboardcontroller/views/background/目录下检查是否存在这个文件:

    • 如果不存在,可以从库的官方源码中找到该文件,复制到对应目录后再重新编译项目。
      注意:这个方法只是临时救急,后续执行npm install或yarn install时,修改的文件会被覆盖,所以只适合紧急场景使用。
  • 全量清理缓存重新构建
    有时候缓存堆积也会导致这类奇怪的编译错误,执行以下命令彻底清理各类缓存后再尝试构建:

    # 清理npm缓存
    npm cache clean --force
    # 清理Metro缓存
    npx react-native start --reset-cache
    # 清理Android构建缓存
    cd android && ./gradlew cleanBuildCache clean
    

    缓存清理完成后,重新运行npx react-native run-android启动项目。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 13:28:07