使用facebook第三方登录是出现:
lnvalid key hash. The key hash “一串字符” doesnot match any stored key
hashes. Configure your app key hashes athttps://
developers.facebook.com/apps/facebook的应用编号/
出现以上问题原因是因为,装的apk包的签名和生成给到facebook散列值的签名文件不一致导致。
第一步:查询apk包下的签名信息
keytool -list -printcert -jarfile test.apk
主要记录SHA1值
第二步:查询打包时的签名文件
首先需要看一下是否有配置签名配置,如果有进去配置签名配置的话找到签名文件使用:
keytool -list -v -keystore debug.keystore
进行查询文件的SHA1信息,看是否与apk的信息一致。一致那就对了,把这个文件生成的散列值配置到facebook的后台,然后安装apk包进行测试。
如果项目中没有配置签名信息时,这是debug包默认使用的是“C:\Users\用户名.android\debug.keystore”这个签名信息。这是安装第二步查询keystore的SHA1的值。
注意:debug.keystore 的信息如下:
默认debug.keystore的信息如下:
Keystore name: “debug.keystore”
Keystore password: “android”
Key alias: “androiddebugkey”
Key password: “android”
CN: “CN=Android Debug,O=Android,C=US”
facebook散列值生成方法:
keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64
需要注意的是 openssl 模块需要安装一下
安装完毕后,在cmd中openssl是否有如下
如果没有这个那就需要配置环境变量,将openssl的安装程序路径复制一份配置打PATH变量中就行了。
问题解决,希望能帮助到大家,也欢迎大家留言探讨。