RELEASE_KEY_ALIAS 和 RELEASE_KEY_PATH 值用于生成密钥哈希
RELEASE_KEY_ALIAS and RELEASE_KEY_PATH values for generating key hash
1- 我正在尝试生成用于将 Android 与 Facebook 集成的密钥哈希。我知道我必须 运行 在提示符下执行以下命令(我在 Windows):
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
但是我在哪里可以得到RELEASE_KEY_ALIAS和RELEASE_KEY_PATH的值呢?
请帮帮我,我浏览了很多,还没找到哪里可以买到。
2- Whosebug 的回答说另一种获取散列键的方法是下载 this, and run in on my android device. Buy when I import it into Eclipse I get a bunch of errors which I don't know hot to fix. The question was this one
当您将应用程序发布到 Google Play 商店时,您需要使用 Java 密钥库对其进行签名。如果您尚未发布并且没有密钥库,则需要现在配置一个。查看 Signing Your Application 文档了解更多信息。
RELEASE_KEY_ALIAS
:每个密钥库可以包含多个别名。您可以使用不同的别名来签署不同的应用程序,或者您可以使用相同的别名签署多个应用程序。例如,默认的调试密钥库只有一个别名 - androiddebugkey
。如果您已经有一个密钥库并且不知道要使用什么别名,运行 命令 keytool -list -v -keystore YOUR_KEYSTORE_FILE
查看所有可用的别名。
RELEASE_KEY_PATH
:这是您机器上密钥库的简单路径。它可能看起来像 C:\Users\somezombie\myproject\release.keystore
.
一旦你有了密钥库,你就可以运行你发布的命令来获取 Facebook 需要的哈希值。请记住,Facebook 可能还要求您使用调试密钥库执行此操作以进行调试构建。
另一种方式:
1- 在您的 onCreate 中添加此代码。
2- 运行 你的应用。
3-检查你的logcat!您的哈希将显示为红色
public class MainActivity 扩展 AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(
getPackageName(), //Or replace to your package name directly, instead getPackageName() "com.your.app"
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.e("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (PackageManager.NameNotFoundException | NoSuchAlgorithmException e) {
}
}
航站楼
获取调试哈希键
在 Linux 或 macOs
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
对于Windows
keytool -exportcert -alias androiddebugkey -keystore "C:\Users\USERNAME\.android\debug.keystore" | "PATH_TO_OPENSSL_LIBRARY\bin\openssl" sha1 -binary | "PATH_TO_OPENSSL_LIBRARY\bin\openssl" base64
释放密钥
对于 linux 或 Macos
keytool -exportcert -alias androidreleasekey -keystore ~/.android/release.keystore | openssl sha1 -binary | openssl base64
对于Windows
keytool -exportcert -alias androidreleasekey -keystore "C:\Users\USERNAME\.android\release.keystore" | "PATH_TO_OPENSSL_LIBRARY\bin\openssl" sha1 -binary | "PATH_TO_OPENSSL_LIBRARY\bin\openssl" base64
1- 我正在尝试生成用于将 Android 与 Facebook 集成的密钥哈希。我知道我必须 运行 在提示符下执行以下命令(我在 Windows):
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
但是我在哪里可以得到RELEASE_KEY_ALIAS和RELEASE_KEY_PATH的值呢? 请帮帮我,我浏览了很多,还没找到哪里可以买到。
2- Whosebug 的回答说另一种获取散列键的方法是下载 this, and run in on my android device. Buy when I import it into Eclipse I get a bunch of errors which I don't know hot to fix. The question was this one
当您将应用程序发布到 Google Play 商店时,您需要使用 Java 密钥库对其进行签名。如果您尚未发布并且没有密钥库,则需要现在配置一个。查看 Signing Your Application 文档了解更多信息。
RELEASE_KEY_ALIAS
:每个密钥库可以包含多个别名。您可以使用不同的别名来签署不同的应用程序,或者您可以使用相同的别名签署多个应用程序。例如,默认的调试密钥库只有一个别名 - androiddebugkey
。如果您已经有一个密钥库并且不知道要使用什么别名,运行 命令 keytool -list -v -keystore YOUR_KEYSTORE_FILE
查看所有可用的别名。
RELEASE_KEY_PATH
:这是您机器上密钥库的简单路径。它可能看起来像 C:\Users\somezombie\myproject\release.keystore
.
一旦你有了密钥库,你就可以运行你发布的命令来获取 Facebook 需要的哈希值。请记住,Facebook 可能还要求您使用调试密钥库执行此操作以进行调试构建。
另一种方式:
1- 在您的 onCreate 中添加此代码。
2- 运行 你的应用。
3-检查你的logcat!您的哈希将显示为红色
public class MainActivity 扩展 AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(
getPackageName(), //Or replace to your package name directly, instead getPackageName() "com.your.app"
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.e("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (PackageManager.NameNotFoundException | NoSuchAlgorithmException e) {
}
}
航站楼
获取调试哈希键 在 Linux 或 macOs
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
对于Windows
keytool -exportcert -alias androiddebugkey -keystore "C:\Users\USERNAME\.android\debug.keystore" | "PATH_TO_OPENSSL_LIBRARY\bin\openssl" sha1 -binary | "PATH_TO_OPENSSL_LIBRARY\bin\openssl" base64
释放密钥 对于 linux 或 Macos
keytool -exportcert -alias androidreleasekey -keystore ~/.android/release.keystore | openssl sha1 -binary | openssl base64
对于Windows
keytool -exportcert -alias androidreleasekey -keystore "C:\Users\USERNAME\.android\release.keystore" | "PATH_TO_OPENSSL_LIBRARY\bin\openssl" sha1 -binary | "PATH_TO_OPENSSL_LIBRARY\bin\openssl" base64