获取SHA-1指纹的方法和获取指纹的方法一样吗?之前,我正在运行这个命令:
我不清楚我得到的结果是不是SHA-1指纹。有人能解释一下吗?
获取SHA-1指纹的方法和获取指纹的方法一样吗?之前,我正在运行这个命令:
我不清楚我得到的结果是不是SHA-1指纹。有人能解释一下吗?
当前回答
首先有一个与fb-sdk android-support-v4.jar相同的.jar文件。 然后使用以下命令生成SHA1密钥:
PackageInfo info;
try {
info = getPackageManager().getPackageInfo(
"com.example.worldmission", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md;
md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String something = new String(Base64.encode(md.digest(), 0));
Log.e("Hash key", something);
System.out.println("Hash key" + something);
}
} catch (NameNotFoundException e1) {
Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
Log.e("exception", e.toString());
}
其他回答
首先有一个与fb-sdk android-support-v4.jar相同的.jar文件。 然后使用以下命令生成SHA1密钥:
PackageInfo info;
try {
info = getPackageManager().getPackageInfo(
"com.example.worldmission", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md;
md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String something = new String(Base64.encode(md.digest(), 0));
Log.e("Hash key", something);
System.out.println("Hash key" + something);
}
} catch (NameNotFoundException e1) {
Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
Log.e("exception", e.toString());
}
右边Gradle—>签名项目获得所有密钥
如果您正在使用谷歌Play应用程序签名,而不是从密钥库中获取SHA,更简单的方法是到谷歌Play控制台>您的应用程序> Release Management >应用程序签名并寻找您的上传证书。
跟随本教程为谷歌Map v2创建SHA1指纹
调试模式:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
释放模式:
keytool -list -v -keystore {keystore_name} -alias {alias_name}
例子:
keytool -list -v -keystore C:\Users\MG\Desktop\test.jks -alias test
在windows下,当keytool命令找不到时,转到您安装的JDK目录,例如<YourJDKPath>\Java\jdk1.8.0_231\bin\,打开命令行,尝试上述命令进行调试/发布模式。
获得SHA1或SHA-256的另一种方式使用./gradlew signingReport
欲了解更多详细信息,请访问 使用Gradle的签名报告
[![更改构建变量,然后您可以看到应用程序的运行,这将导致错误
你必须找到释放密钥的SHA1代码,并在开发人员控制台输入它。(对我来说,开发人员控制台是firebase,有些人可能使用不同的服务)找到SHA1代码。简单的方法是
Go to Build --- Select Build Variant -- On the left Side Select "Release" as build variant -- now go to module settings ( or try to run project , android studio will tell you about a error and click fix error button) --- Select Signing tab --- add your release key and passwords -- now goto build types -- select release -- on signing config select your release key config -- now run your project -- now run your signing report --- you can find SHA1 under release build -- enter that sha1 code on your developer console