您好我正在尝试在fb开发门户中添加哈希键。但我对需要改变什么和需要保持不变的东西感到困惑。
的Mac: keytool -exportcert -alias androiddebugkey -keystore~ / .android / debug.keystore | 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提供什么名称?
答案 0 :(得分:1)
别名是标识密钥的名称,当您创建新密钥库时,您必须设置密钥别名,这是您必须在命令中放置的名称,您还必须设置密钥库的路径(don不要忘记文件扩展名
您可以看一下:https://developer.android.com/studio/publish/app-signing.html
答案 1 :(得分:1)
首先要注意的是keytool
是一个词。第二项是facebook的文档向您展示了要更换的内容:
https://developers.facebook.com/docs/android/getting-started#release-key-hash
即。您替换版本密钥库的ALIAS
和版本密钥库的PATH
关于您的调试密钥库,您不需要替换PATH
以外的任何内容,因为androiddebugkey
是调试环境的默认别名。
对于名称,您需要提供首先设置发布密钥库的ALIAS
和PATH
文件的.keystore
。
答案 2 :(得分:1)
只需打开您的活动并创建功能:
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。