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

React Native Admob插件适配最新RN版本构建失败,如何解决?

修复React Native Admob插件构建失败问题

我之前在升级到最新版React Native时也碰到过一模一样的问题,本质是你用的react-native-admob库版本太陈旧,和新版React Native的Android API不兼容导致的——具体来说,报错里的@Override注解标记的方法,在新版的父类中已经不存在或者方法签名发生了变化,所以编译器判定这个注解无效,直接抛出错误。

先把你遇到的报错信息贴出来方便对照:

D:\projects\fortuna\node_modules\react-native-admob\android\src\main\java\com\sbugert\rnadmob\RNAdMobRewardedVideoAdModule.java:89: error: method does not override or implement a method from a supertype
@Override
^
1 error

:react-native-admob:compileReleaseJavaWithJavac FAILED

FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':react-native-admob:compileReleaseJavaWithJavac'.

下面给你两种可行的修复方案:

方案一:改用维护中的官方替代库(推荐)

旧版的react-native-admob已经停止更新很久了,完全跟不上React Native和Google Ads SDK的迭代节奏。Google官方推荐使用社区维护的react-native-google-mobile-ads库,这是专门适配新版技术栈的广告插件。操作步骤如下:

  • 先卸载旧库:
    npm uninstall react-native-admob
    
  • 安装新库:
    npm install react-native-google-mobile-ads
    
  • 按照新库的配置指引完成Android和iOS端的权限、广告ID等基础配置
  • 替换项目中旧的Admob API调用代码,比如把原来的RewardedVideoAd相关逻辑换成新库的RewardedAd类即可

方案二:手动修改旧库代码(临时救急)

如果暂时不想替换库,可以直接修改报错的文件来临时解决问题:

  • 找到路径D:\projects\fortuna\node_modules\react-native-admob\android\src\main\java\com\sbugert\rnadmob\RNAdMobRewardedVideoAdModule.java
  • 打开文件定位到第89行,把那一行的@Override注解删掉
  • 重新运行构建命令:
    react-native run-android --variant release
    

⚠️ 注意:这种方法只是临时修复,下次执行npm install或者重新安装依赖时,修改的代码会被覆盖,所以长期来看还是推荐方案一。

内容的提问来源于stack exchange,提问作者Sergo Kupreishvili

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:48:25