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 错误的主要内容,如果未能解决你的问题,请参考以下文章
试图覆盖 Java 中 PriorityQueue 的现有比较器
__init__() 有多个参数值试图覆盖 forms.Form
本机模块 FBAccessToken 试图覆盖 FBAccesTokenModule。检查 MainApplication.Java 中的 getPackages() 方法