无法解析 GoogleSignIn 和 GoogleSignInClient
Posted
技术标签:
【中文标题】无法解析 GoogleSignIn 和 GoogleSignInClient【英文标题】:Cannot resolve GoogleSignIn and GoogleSignInClient 【发布时间】:2018-04-23 18:21:51 【问题描述】:我无法使用 GoogleSignIn(com.google.android.gms.auth.api.signin.GoogleSignIn ) 和 GoogleSignInClient(com.google.android.gms.auth.api.signin.GoogleSignInClient ) 在 Android Studio 中实现 Google Sign In 同时我可以访问 App 中的其他类,例如
com.google.android.gms.auth.api.signin.GoogleSignInAccount;
com.google.android.gms.auth.api.signin.GoogleSignInOptions;
com.google.android.gms.common.SignInButton;
我的 build.gradle(app) 文件的精简版本如下
android
dependencies
compile 'com.google.android.gms:play-services-auth:11.4.2'
compile('com.google.api-client:google-api-client-android:1.23.0')
exclude group: 'org.apache.httpcomponents'
compile('com.google.apis:google-api-services-gmail:v1-rev72-1.23.0')
exclude group: 'org.apache.httpcomponents'
implementation 'com.google.gms:google-services:3.1.2'
apply plugin: 'com.google.gms.google-services'
而我的 build.gradle(package) 是
buildscript
dependencies
classpath 'com.android.tools.build:gradle:3.0.0'
classpath 'com.google.gms:google-services:3.1.2'
任何帮助将不胜感激
【问题讨论】:
如果您遇到任何错误,请添加您的 logcat。 您的 SDK 管理器中是否安装了Google Repository
?
@Yupi 是的,我使用的是最新版本的 Google Repository。
【参考方案1】:
将此添加到您的应用级依赖项
compile 'com.google.android.gms:play-services-auth:12.0.1'
【讨论】:
为您的答案添加一些描述。 在此处找到所有依赖项列表。 developers.google.com/android/guides/setup 我今天得到了最新版本“16.0.0”【参考方案2】:我遇到了同样的问题
GoogleSignIn 和 GoogleSignInClient 是在 Google Play 服务 SDK 版本 11.6 中引入的。在旧版本中使用的是 GoogleApiClient。
所以尝试将编译 'com.google.android.gms:play-services-auth:11.4.2' 更改为 'com.google.android.gms:play-services -auth:12.0.1' 在依赖项中
依赖关系
compile 'com.google.android.gms:play-services-auth:12.0.1'
【讨论】:
【参考方案3】:对我来说,我在我的应用的 build.gradle 中为 google play 服务应用了一个插件:
apply plugin: 'com.google.gms.google-services'
在我的 Project's Build.gradle 中,我还有 google 服务。
buildscript
ext.kotlin_version = '1.1.60'
repositories
google()
jcenter()
dependencies
classpath 'com.google.gms:google-services:3.1.2' // <== this guy
classpath 'com.android.tools.build:gradle:3.0.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
我记得我添加了一些编译问题。但显然我不需要它们。
通过删除它们,我发现 gms 版本不再存在问题。
编辑
所以删除最初解决了我的问题,但后来在 google 登录时给了我问题。将 apply plugin: 'com.google.gms.google-services' 添加到我的项目 gradle 的底部而不是在顶部确实解决了它。
【讨论】:
将插件:'com.google.gms.google-services' 应用到我的项目 gradle 的底部而不是顶部解决它。 我也是,我有实现 'com.google.android.gms:play-services-auth:18.1.0' 所以我认为这不是版本问题。删除插件行完全修复了缺少的 GoogleSignIn 引用,但不起作用。将插件行单独添加到文件末尾似乎已经奏效。这似乎是插件中的一个错误(可能是命名空间错误)。【参考方案4】:在 build.gradle 模块脚本中,我必须添加这两个依赖项,然后“立即同步”并为我解决问题。
dependencies
// Your own command lines
//...
compile 'com.google.android.gms:play-services-drive:11.8.0'
compile 'com.google.android.gms:play-services-auth:11.8.0'
【讨论】:
【参考方案5】:你不能使用任何更新的版本吗?例如11.6.0。 尝试更新您的 Google 存储库。 (Tools->Android->SDK Manager->Support Repository下的SDK Tools)
【讨论】:
+1。 11.6.0 是 GoogleSignIn / GoogleSignInClient 类所需的最低版本(旧版本的类名略有不同) 但是有一个问题,com.google.gms:google-services:3.1.2 包含在 11.4.2 版本中,它与 11.4.2 和 11.6.0 版本发生冲突,并且新版本在 google-services 上不可用。 @VaheGharibyan 我可以毫无问题地使用它们。您能具体说明问题所在吗? @VaheGharibyan 如果您收到以下消息“错误:任务 ':app:processDebugGoogleServices' 的执行失败。> 请通过更新 google-services 插件的版本来修复版本冲突(信息有关最新版本的信息,请访问bintray.com/android/android-tools/…)或将 com.google.android.gms 的版本更新到 11.4.2。”然后,您可以通过在 build.gradle(app) 文件末尾移动 apply plugin: 'com.google.gms.google-services' 来修复。 @pcforgeek 我强制使用 api 11.4.2,但问题是,api 11.4.2 不包含 GoogleSignIn / GoogleSignInClient 类。以上是关于无法解析 GoogleSignIn 和 GoogleSignInClient的主要内容,如果未能解决你的问题,请参考以下文章
GoogleSignIn/Crashlytics/Firebase 的自定义编译器标志
如何在 GoogleSignIn signInSilently 中捕获错误?
Flutter Firebase GoogleSignIn 在发行版中不起作用
没有这样的模块 'GoogleSignIn' Xcode 9.3 和 Swift 4.1