创建开发密钥哈希
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
并创建一个释放键哈希
keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64
我有6个问题:
>那些Key Hashes有什么作用?
>为什么需要为Release和Development创建不同的键哈希?
>如果我尚未将我的应用程序发布到PlayStore.我可以使用Release Key而不是使用Development键吗?
>如果我的应用程序在PlayStore中存在,我可以继续使用开发键吗?
>我应该把什么放入YOUR_RELEASE_KEY_ALIAS和YOUR_RELEASE_KEY_PATH?有人可以提供样品吗?
>为什么我们为iOS开发时,不需要那些关键的哈希?
额外的问题是无关的
解决方法
>他们唯一地标识您的密钥库和应用程序.这是一个独特的
适合您应用的指纹:
签署您的应用程序
> Android要求所有应用程序都使用证书进行数字签名
在他们可以安装之前. Android使用此证书
识别应用程序的作者,证书不需要
由证书颁发机构签署. Android应用经常使用
自签名证书.应用开发者持有证书
私钥.
签名概述
>您可以在调试或发布模式下签署应用程序.你签了你的应用程序
准备好时,在开发期间和发布模式下调试模式
分发您的应用程序. Android SDK生成证书
在调试模式下签署应用程序要在发布模式下签署应用,您需要
生成自己的证书.您可以进一步参考
看看关键词是什么
http://developer.android.com/tools/publishing/app-signing.html
https://developers.facebook.com/docs/facebook-login/android
问:为什么需要为Release和Development创建不同的哈希值?
如你所知,android使用不同的Keystore进行开发和发布,因为两个密钥库在每个方面都不同,它们都有不同的指纹和SHA-1哈希,因此它们被完全区别对待.
问:如果我尚未将我的应用程序发布到PlayStore.我可以使用Release Key而不是使用Development键吗?
是的,您只能使用发布密钥进行APK生成,但如果您处于调试模式,则此密钥根本不起作用.
问:如果我的应用程序在PlayStore中存在,我可以继续使用开发密钥吗?
是的,您可以继续使用开发密钥,但不能使用调试密钥.
问:我应该在YOUR_RELEASE_KEY_ALIAS和YOUR_RELEASE_KEY_PATH中加入什么?有人可以提供样品吗?
问:为什么我们为iOS开发时,不需要那些关键的哈希?
这是由于平台要求.没有必要,如果一个平台需要一个东西,另一个平台也是如此.
单点登录
单点登录大致是Facebook Connect等服务的扩展(和替代),将您连接到第三方社交应用和服务.如果您已使用手机登录Facebook,则可以使用Facebook凭据登录其他应用.
public void generateFbFingerPrint() { try { PackageInfo info = getPackageManager().getPackageInfo( "com.group3amd.gc.activity",PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); String sign = Base64 .encodeToString(md.digest(),Base64.DEFAULT); Log.e("KEYHASH:",sign); Toast.makeText(getApplicationContext(),sign,Toast.LENGTH_LONG) .show(); } } catch (NameNotFoundException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } }