我想将linkedin登录集成到我的Android应用程序中.
因为我需要为linkedin生成调试密钥哈希值
当我检查文档时,他们说要安装openssl并运行命令
keytool -exportcert -keystore %HOMEPATH%\.android\debug.keystore -alias androiddebugkey | openssl sha1 -binary | openssl base64
我尝试在"cmd"中的"C:\ OpenSSL-Win64\bin"中执行此操作,我得到了一个:
'keytool' is not recognized as an internal or external command, operable program or batch file.
当我在C:\ Program Files\Java\jre1.8.0_66\bin"cmd"执行此操作时,我收到了回复: -
*username\.android\debug.keystore keytool -exportcert [OPTION]... Exports certificate Options: -rfc output in RFC style -aliasalias name of the entry to process -file output file name -keystore keystore name -storepass keystore password -storetype keystore type -providername provider name -providerclass provider class name -providerarg provider argument -providerpath provider classpath -v verbose output -protected password through protected mechanism Use "keytool -help" for all available commands 2jmj7l5rSw0yVb/vlWAYkK/YBwk=*
如果我执行命令或其他任何事情的命令或loctaion有任何问题,请指导我...
要为Linked生成密钥哈希,请按照@Mr Vijay Arora建议的步骤操作.
1)下载Openssl
从:这里.
2)在C盘中创建一个openssl文件夹.
3)将Zip文件解压缩到在C Drive中创建的这个openssl文件夹中.
4)debug.keystore
从.android文件夹中复制文件,找到(C:\ Users\USER_NAME.android)并粘贴到jre\bin文件夹中.
5)打开命令提示符并给出jre\bin文件夹的路径(C:\ Program Files\Java\jre7\bin).
6)复制以下代码并按Enter键
keytool -exportcert -alias androiddebugkey -keystore debug.keystore > c:\openssl\bin\debug.txt
7)现在输入密码,默认密码= android.
8)如果你在openssl bin文件夹中看到,你将得到一个名为debug.txt的文件
9)现在要么可以重新启动命令提示符,要么使用现有的命令提示符
10)返回C盘并给出openssl的bin文件夹的路径
11)复制以下代码并粘贴
openssl sha1 -binary debug.txt > debug_sha.txt
12)你将在openssl bin文件夹中获得debug_sha.txt
13)再次复制以下代码并粘贴
openssl base64 -in debug_sha.txt > debug_base64.txt
14)你将在openssl bin文件夹中获得debug_base64.txt
15)打开debug_base64.txt文件这是你的密钥哈希.
或替代流程:
public void generateHashkey(){ try { PackageInfo info = getPackageManager().getPackageInfo( PACKAGE, PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); ((TextView) findViewById(R.id.package_name)).setText(info.packageName); ((TextView) findViewById(R.id.hash_key)).setText(Base64.encodeToString(md.digest(), Base64.NO_WRAP)); } } catch (PackageManager.NameNotFoundException e) { Log.d(TAG, e.getMessage(), e); } catch (NoSuchAlgorithmException e) { Log.d(TAG, e.getMessage(), e); } }