为android Application

时间:2015-12-30 12:25:16

标签: android oauth-2.0 linkedin linkedin-api

我希望将login登录集成到我的Android应用程序中。

为此我需要为linkedin生成调试密钥哈希值

当我检查文档时,他们说要安装openssl并运行命令

keytool -exportcert -keystore %HOMEPATH%\.android\debug.keystore -alias androiddebugkey | openssl sha1 -binary | openssl base64

我尝试在" C:\ OpenSSL-Win64 \ bin"中执行此操作in" cmd"我得到了一个安息: -

'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&#34中执行此操作时,我收到了回复: -

*username\.android\debug.keystore
keytool -exportcert [OPTION]...

Exports certificate

Options:

 -rfc                            output in RFC style
 -alias <alias>                  alias name of the entry to process
 -file <filename>                output file name
 -keystore <keystore>            keystore name
 -storepass <arg>                keystore password
 -storetype <storetype>          keystore type
 -providername <providername>    provider name
 -providerclass <providerclass>  provider class name
 -providerarg <arg>              provider argument
 -providerpath <pathlist>        provider classpath
 -v                              verbose output
 -protected                      password through protected mechanism

Use "keytool -help" for all available commands
2jmj7l5rSw0yVb/vlWAYkK/YBwk=*

如果我执行命令或其他任何事情的命令或位置有任何问题,请指导我...

1 个答案:

答案 0 :(得分:5)

为了生成链接的密钥哈希,请按照@Mr Vijay Arora建议的步骤进行操作。

1)从here下载Openssl

2)在C盘中创建一个openssl文件夹。

3)将Zip文件解压缩到在C Drive中创建的这个openssl文件夹中。

4)从 .android 文件夹中复制文件debug.keystore,找到(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);
    }
}