嗨,我试图在fb开发门户中添加哈希键。但我不知道什么需要改变,什么需要保持不变。
- 对于Dev环境,要生成哈希键,我们需要运行:
麦克:Keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug. exeKeystore | openssl sha1 -binary | openssl base64
我们是否只需要编辑~/.android/debug.keystore
并给出位置,或者在生成哈希键之前,我们是否需要更改其他内容,如'androiddebugkey'。
-
生产环境:
key tool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64
我们只需要编辑YOUR_RELEASE_KEY_ALIAS &YOUR_RELEASE_KEY_PATH吗?如果是,我们需要给YOUR_RELEASE_KEY_ALIAS取什么名字?
首先要注意的是,keytool
是一个词。第二项是facebook的文档告诉你要替换什么:
https://developers.facebook.com/docs/android/getting-started release-key-hash
。您将替换发布密钥库的ALIAS
和发布密钥库的PATH
对于您的调试密钥库,除了PATH
,您不需要替换任何东西,因为androiddebugkey
是调试环境的默认别名。
对于名称,您将需要提供首先设置Release密钥存储库的ALIAS
,以及.keystore
文件的PATH
。
https://developer.xamarin.com/guides/android/deployment, _testing _and_metrics/publishing_an_application part_2_ -_signing_the_android_application_package/# _Create_a_Private_Keystore_
简单地,打开Activity并创建函数:
try {
PackageInfo info = getPackageManager().getPackageInfo(
"your.application.package.name",
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));
}
} catch (PackageManager.NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
在运行活动时打开logcat并使用"KeyHash"搜索logcat
别名是标识您的密钥的名称,当您创建一个新的密钥库时您必须设置密钥别名这是您必须在命令中输入的名称,您还必须设置密钥库的路径(不要忘记文件扩展名)
你可以看看这个:https://developer.android.com/studio/publish/app-signing.html