RNGoogleSignin 试图覆盖 RNGoogleSigninModule 错误

Posted

技术标签:

【中文标题】RNGoogleSignin 试图覆盖 RNGoogleSigninModule 错误【英文标题】:RNGoogleSignin tried to override RNGoogleSigninModule ERROR 【发布时间】:2019-12-31 01:35:37 【问题描述】:

我正在尝试在我的 React-Native 应用程序中使用 Google 构建身份验证。每当我运行该应用程序时,它都会显示此错误,说有重复,但实际上没有重复。

环境:

- react-native 0.60.4
- react-native-google-signin 2.0.0

-----------------------------------------------
buildToolsVersion = "28.0.3"
       minSdkVersion = 16
       compileSdkVersion = 28
       targetSdkVersion = 28
       supportLibVersion = "28.0.0"
       googlePlayServicesAuthVersion = "17.0.0"

  classpath('com.android.tools.build:gradle:3.5.0')
  classpath 'com.google.gms:google-services:4.2.0'

【问题讨论】:

Mainapplication.java文件中没有重复项吗? @hongdevelop 没有重复 你找到解决办法了吗? 分享你的 mainapplication.java 你的 package.json 中可能有冲突的包,你能分享一下吗? 【参考方案1】:

我相信您使用的是react-native > 0.6。 在> 0.6 版本中,包是自动链接的。

因此删除您为MainApplication.java 手动添加的包,然后尝试构建并再次运行它。这应该可以解决您的问题。

// MainApplication.java

@Override
protected List<ReactPackage> getPackages() 
  @SuppressWarnings("UnnecessaryLocalVariable")
  List<ReactPackage> packages = new PackageList(this).getPackages();
  // your package might be added here. Remove (only) that package.
  return packages;

【讨论】:

是的,我使用的是 react-native 0.61.5,但 MainApplication.java 不包含特定的包名。【参考方案2】:

看起来您使用的是旧包react-native-google-signin,您应该使用@react-native-community/google-signin,因为您使用的是RN>=0.6。许多 repo 被转移到 Github 上的 react-native-community 组织。

试试npm rm react-native-google-signin然后npm i @react-native-community/google-signin

【讨论】:

以上是关于RNGoogleSignin 试图覆盖 RNGoogleSigninModule 错误的主要内容,如果未能解决你的问题,请参考以下文章

slather 错误,当试图获得代码覆盖率时

试图覆盖特定地址的内存

试图覆盖 Java 中 PriorityQueue 的现有比较器

__init__() 有多个参数值试图覆盖 forms.Form

本机模块 FBAccessToken 试图覆盖 FBAccesTokenModule。检查 MainApplication.Java 中的 getPackages() 方法

试图在 UICollectionViewCell Swift 中覆盖“selected”以实现自定义选择状态