Java 为什么Facebook登录在Android的签名版APK中不起作用?
我正在开发一个android应用程序,为使用firebase帮助登录Facebook的用户提供帮助,我的问题是,当我生成签名发布APK时,登录停止工作,我查找一些解决方案,我发现所有解决方案都是相同的,这是从以下代码生成密钥哈希:Java 为什么Facebook登录在Android的签名版APK中不起作用?,java,android,firebase,facebook,facebook-android-sdk,Java,Android,Firebase,Facebook,Facebook Android Sdk,我正在开发一个android应用程序,为使用firebase帮助登录Facebook的用户提供帮助,我的问题是,当我生成签名发布APK时,登录停止工作,我查找一些解决方案,我发现所有解决方案都是相同的,这是从以下代码生成密钥哈希: keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | PATH_TO_OPENSSL_LIBRARY\bin\openssl sha1 -bi
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | PATH_TO_OPENSSL_LIBRARY\bin\openssl sha1 -binary | PATH_TO_OPENSSL_LIBRARY\bin\openssl base64
keytool-exportcert-alias-keystore | PATH_TO_OPENSSL_LIBRARY\bin\OPENSSL sha1-binary | PATH_TO_OPENSSL_LIBRARY\bin\OPENSSL base64
每次我打开cmd或android studio终端,导航到我的JDK位置,这样我就可以访问keytool.exe来运行上面的命令,然后在Settings->basic中将密钥散列复制并粘贴到我的facebook开发者帐户中,然后打开android应用程序部分并将密钥散列粘贴到“key Hashes”字段中,所以我的问题是,在生成签名发布apk后,Facebook登录不起作用
在android中。如果您有APK
您可以从构建的apk中提取签名。它通常位于/app/build/outputs/apk/*
中的building之后,使用中的答案
获取用于调试的签名
调试应用程序时,您正在使用调试密钥库对应用程序进行签名。这位于Linux/Mac OS上的~/.android/debug.keystore
或Windows上的C:\Users\user\.android\debug.keystore
使用谷歌应用程序签名时
查看下面的屏幕截图,检查您是否正在使用谷歌应用程序签名。如果已启用,请使用谷歌提供的签名信息
您能描述一下创建签名版本后使用APK的过程吗?您是将其上载到google play还是直接从apk安装应用程序?Google Play可能会根据设置再次为您的应用程序签名您也可以通过以下方式从完成的apk获取SHA1:@JensV我将其上载到Google Play是的,但我正在物理设备上使用不同的apk版本测试facebook登录。在设备上测试时,您是否使用调试变量?因为它是使用调试密钥签名的,对于每台开发机器(您的计算机),调试密钥是不同的。您需要从调试密钥库获取签名。我的问题是发布apk而不是调试apk@JensV