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

配置react-native-push-notification遇Override错误,求教canOverrideExistingModule设置方法

解决react-native-push-notification的Override错误(无需Firebase)

针对你遇到的模块Override错误,按以下步骤配置即可解决,全程无需集成Firebase:

1. 修改MainApplication.java

找到android/app/src/main/java/com/[你的项目名称]/MainApplication.java文件,做两处修改:

  • 先导入PushNotification包:
import com.dieam.reactnativepushnotification.ReactNativePushNotificationPackage;
  • 然后在getPackages()方法里,用带参数的方式注册包,传入true开启模块覆盖权限:
@Override
protected List<ReactPackage> getPackages() {
  List<ReactPackage> packages = new PackageList(this).getPackages();
  // 替换原有PushNotification包注册(如果有),添加这行
  packages.add(new ReactNativePushNotificationPackage(true));
  return packages;
}

这里的true就是对应系统提示的canOverrideExistingModule=true配置。

2. 禁用Firebase相关依赖

因为你不需要Firebase,创建或修改项目根目录下的react-native.config.js,添加如下配置:

module.exports = {
  dependencies: {
    'react-native-push-notification': {
      platforms: {
        android: {
          firebaseMessagingVersion: '', // 留空即可禁用Firebase集成
        },
      },
    },
  },
};

同时检查android/build.gradle和android/app/build.gradle,确保没有手动添加Firebase相关依赖。

3. 清理缓存并重建项目

之前移除包没解决问题大概率是缓存残留,执行以下命令彻底清理后重建:

cd android
./gradlew clean
cd ..
npx react-native run-android

内容的提问来源于stack exchange,提问作者waqar mughal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 08:40:35