Firebase Auth Ui Google登录“Developer Error”

我有一个使用firebase和firebase auth ui库的项目。 问题是我无法使用Google登录登录,当我尝试加载一两秒钟然后只显示一个Toast消息“Developer Error”。 我可以用电子邮件和密码登录就好了。 这只是签名apks的问题,当我调试Google时,登录工作正常。

在我的proguard-rules.pro中,我将minifyEnabled设置为false。

我已将SHA-1添加到我的firebase项目并已下载正确的json文件。

来自app level build.gradle的依赖块

dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:26.0.2' compile 'com.android.support:design:26.0.2' compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.android.support:design:26.0.2' compile 'com.android.support:cardview-v7:26.0.2' compile 'com.google.firebase:firebase-database:11.4.2' compile 'com.google.firebase:firebase-auth:11.4.2' compile 'com.firebaseui:firebase-ui-auth:3.1.0' testCompile 'junit:junit:4.12' } apply plugin: 'com.google.gms.google-services' 

这是我的AuthStateListener

 mAuthStateListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser user = firebaseAuth.getCurrentUser(); if (user != null) { signedInInitialized(); } else { signedOutCleanUp(); startActivityForResult( AuthUI.getInstance() .createSignInIntentBuilder() .setTheme(R.style.FirebaseSignInTheme) .setIsSmartLockEnabled(false) .setAvailableProviders( Arrays.asList(new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build(), new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build())) .build(), RC_SIGN_IN); } } }; 

logcat没有显示任何错误或任何错误。 我会在发生这种情况时发布logcat,但我不知道如何从签名的apk获取logcat,因为这只发生在apk上。

我试图解决这个问题好几天,但似乎没有头脑。

谢谢

您已在控制台中添加了调试密钥的签名。 但是发布密钥的签名是不同的。 添加用于在firebase控制台中对apk进行签名的释放密钥签名。

首先使用以下命令生成密钥:

 keytool -list -v -keystore KEYSTORE_PATH -alias ALIAS_NAME 

然后复制SHA-1校验和并转到:

Firebase控制台>您的项目>应用程序的设置>添加指纹

您已添加两个键

  1. 你的android调试密钥SHA-1

  2. 您的释放密钥SHA-1的签名

最简单的方法是使用android studio:工具 – > Firebase – >身份validation – >单击小播放按钮,然后按第一个选项中的连接按钮。 Android studio将为您完成,生成SHA-1密钥并将其添加到您的项目中。

谷歌变得越来越难看,他们让简单的事情变得复杂。 问题是第三个关键,

1,调试密钥

2,释放键

3,Google Play App签名密钥

您需要三个键来确定一个Google SignIn。

facebook还需要三个键吗? 也许有一天谷歌将需​​要30键。