2

我在我的应用程序中使用 facebook 集成。但是我在获取 Android 应用程序的哈希码时停下来了。获取 facebook 哈希码的链接:这里

我在推荐提示中使用此语法,但出现错误,例如 keytool 无法识别为内部或外部命令:

D:\Users\Priyadarshan\.android>keytool -exportcert -alias androiddebugkey -keyst
ore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
'keytool' is not recognized as an internal or external command,
operable program or batch file.

请帮助我。谢谢。

编辑:

看过之后:这个链接

我已经完成了如下操作,但仍然出现错误:

D:\Users\Priyadarshan>cd C:\Program Files\Java\jre7\bin\keytool -exportcert -ali
as androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary |
openssl base64
'openssl' is not recognized as an internal or external command,
operable program or batch file.

在一些指南之后,我已经完成了如下操作,但仍然出现错误:

D:\Users\Priyadarshan>cd C:\Program Files\Java\jre7\bin\keytool -exportcert -ali
as androiddebugkey -keystore ~/.android/debug.keystore | D:\Users\Priyadarshan\o
penssl-0.9.8k_WIN32\bin\openssl sha1 -binary | D:\Users\Priyadarshan\openssl-0.9
.8k_WIN32\bin\openssl base64
The system cannot find the path specified.
2jmj7l5rSw0yVb/vlWAYkK/YBwk=
4

4 回答 4

3

我在不同的目录中有 keytool:

C:\Program 文件 (x86)\Java\jre6\bin

您可以将路径添加keytool到 PATH 环境变量中,也可以在完整路径周围使用引号,例如

D:\Users\Priyadarshan.android>"C:\Program Files\etc\keytool.exe" -exportcert 等

不要因为路径中的空格而忘记引号!

于 2011-11-09T06:48:34.530 回答
2

keytool随JDK一起提供。

假设您使用默认设置安装了 JDK,您会在以下位置找到它C:\Program Files\Java\jdk1.6.0_23\bin\keytool.exe

于 2011-11-09T06:46:45.830 回答
1

来自 facebook 文档的编码器来获取哈希码只需在模拟器中运行它

   try {
            PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), 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));
                   //Toast.makeText(StartingPlace.this, something,
                        //  Toast.LENGTH_LONG).show();
                    Log.e("hash key", something);
        } 
        }
        catch (NameNotFoundException e1) {
            // TODO Auto-generated catch block
            Log.e("name not found", e1.toString());
        }

             catch (NoSuchAlgorithmException e1) {
                // TODO Auto-generated catch block
                 Log.e("no such an algorithm", e1.toString());
            }
             catch (Exception e1){
                 Log.e("exception", e1.toString());
             }
        //code to get hash code
于 2013-11-13T13:42:23.617 回答
0

您可以从此链接使用 Open SSL ,
此问题已在本文中讨论

于 2011-11-09T06:47:48.717 回答