Facebook Android Generate Key Hash

2018-12-31 06:28发布

Trying to create an android app with Facebook integration, I've gotten to the part in the docs where you have to generate a key hash file, it specifies to run the following code

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore 
| openssl sha1 -binary
| openssl base64

When I run this in my terminal I get an error for Keystore tampered with or password was incorrect,

I just want to generate my Key Hash

Can anyone point me in the right direction?

20条回答
无与为乐者.
2楼-- · 2018-12-31 07:03

The only thing working for me is using the password android. Why is that not mentioned in any guides out there?

查看更多
君临天下
3楼-- · 2018-12-31 07:06

If your password=android is wrong then Put your pc password on that it works for me.

And for generate keyHash try this link Here

查看更多
孤独寂梦人
4楼-- · 2018-12-31 07:11

Delete your debug certificate under ~/.android/debug.keystore (on Linux and Mac OS X); the directory is something like %USERHOME%/.android on Windows.

The Eclipse plugin should then generate a new certificate when you next try to build a debug package.

Let me know if that works.

查看更多
人气声优
5楼-- · 2018-12-31 07:11

Even though this thread is old, yet I would like to share my experience (recently started working with facebook), which seems to me straight:

  1. Download openssl from the link bellow: https://code.google.com/p/openssl-for-windows/downloads/list
  2. Unzip it to a local drive (e.g., C:\openssl)
  3. To get the Development key for facebook integration, use the following command from the command line in windows:

    keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%.android\debug.keystore | "C:\openssl\bin\openssl.exe" sha1 -binary | "C:\openssl\bin\openssl.exe" base64

NOTE!: please replace the path for openssl.exe (in this example it is "C:\openssl\bin\openssl.exe") with your own installation path.

  1. It will prompt for password, e.g.,

Enter keystore password: android

Type android as password as shown above.

Thats it! You will be given a 28 character long key. Cheers!

Use the same procedure to get the Release key. Just replace the command with the following and use your release key alias.

keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | "PATH FOR openssl.exe" sha1 -binary | openssl base64

查看更多
人气声优
6楼-- · 2018-12-31 07:12

The right key can be obtained from the app itself by adding the following code to toast the proper key hash (in case of Facebook SDK 3.0 onwards, this works)

try {
            PackageInfo info = getPackageManager().getPackageInfo("com.package.mypackage",         PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT);
                Log.e("MY KEY HASH:", sign);
                Toast.makeText(getApplicationContext(),sign,         Toast.LENGTH_LONG).show();
            }
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}

Replace com.package.mypackage with your package name

查看更多
大哥的爱人
7楼-- · 2018-12-31 07:12

SIMPLEST SOLUTION OUT THERE FOR THIS PROBLEM:

I have had this Problem for two months now. My key hashes have been pyling up to 9. Today i finally found the simple solution:

STEP 1:

Install the facebook sdk you downloaded from the facebook developer page on your phone. Don´t install the normal facebook app. Make sure you can log into facebook. Then log out.

STEP 2:

Export your app with your final release key as an apk, like you would when uploading it to the playstore.

STEP 3:

Put the Apk file on your phone via usb cable or usb stick.

STEP 4:

Install your app, using a file manager: Example

STEP 5:

Launch your app and try to log in with facebook. A dialog will open and tell you: "the key YOURHASHKEY has not been found in the facebook developer console"

STEP 6:

Write down the key.

STEP 7:

Put it into your facebook developer console and save. Now you are done. Anyone that downloads your app, published with earlier used keystore can log into facebook.

Enjoy

查看更多
登录 后发表回答