我完成了我的应用程序,一切正常,但是在我签署我的应用程序以将其发布到谷歌播放后,签名的 apk 无法使用 facebook 登录,我尝试了以下方法来解决这个问题,但到目前为止我没有任何效果。
我通过 keytool 生成了 hashkey,并将其添加到我在 facebook 上的应用程序页面中。
keytool -exportcert -alias kartag -keystore C:\Data\app\client\android\keyStore\KarTag | "C:\bin\bin\openssl" sha1 -binary |"C:\bin\bin\openssl" base64
然后输入 android 作为密码并输入我的密钥库密码,但没有任何效果。
我编写了下面的代码以在运行时获取哈希键,生成的密钥与上述方法生成的不同,并且也添加到我的 facebook 应用程序页面中,但我也不起作用。
String key = ""; try { PackageInfo info = getPackageManager().getPackageInfo( "com.kartag.gui", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); key = Base64.encodeToString(md.digest(), Base64.DEFAULT); } } catch (NameNotFoundException e) { } catch (NoSuchAlgorithmException e) { }
如果您知道解决此问题的任何方法,请提供帮助,因为我花了三天时间来解决此问题。