1、首先在Facebook 开发者平台注册一个账号
https://developers.facebook.com/
开发者后台 https://developers.facebook.com/apps
2、创建账号并且获得 APP ID
图一
图二
图三
图四
图五
3、获取app签名的Key Hashes 值(两种方式)
3.1方法1:
1 package com.pegasus.map.presentation.utils;
2 import android.content.Context;
3 import android.content.pm.PackageInfo;
4 import android.content.pm.PackageManager;
5 import android.content.pm.Signature;
6 import android.util.Base64;
7 import android.widget.Toast;
8 import java.security.MessageDigest;
9 import java.security.NoSuchAlgorithmException;
10
11 /**
12 * Created by ${zyj} on 2016/3/29.
13 */
14 public class KeyHash {
15
16 /**
17 * 注意运行的时候,app需要正式的签名
18 * @param context
19 * @param packageName app的包名
20 */
21 public static void getKeyHash( Context context , String packageName ){
22 try {
23 PackageInfo info = null;
24 info = context.getPackageManager().getPackageInfo( packageName , PackageManager.GET_SIGNATURES );
25 for ( Signature signature : info.signatures ) {
26 MessageDigest messageDigest = null;
27 messageDigest = MessageDigest.getInstance("SHA");
28 messageDigest.update(signature.toByteArray());
29 String hs = Base64.encodeToString(messageDigest.digest(), Base64.DEFAULT) ;
30 Toast.makeText(context, "" + hs , Toast.LENGTH_SHORT).show();
31 }
32 } catch (PackageManager.NameNotFoundException e) {
33 e.printStackTrace();
34 } catch (NoSuchAlgorithmException e) {
35 e.printStackTrace();
36 }
37 }
38 }
3.2 命令行的方式获取 Key hash 值
3.2.1 :首选保证你的电脑上有 openSSl 的库文件
下载 http://gnuwin32.sourceforge.net/packages/openssl.htm
3.2.2 :解压下载的文件
3.2.3:cmd 命令行模式定位到 openssl 的 bin目录下
3.2.4:执行命令
keytool -exportcert -alias yiba -keystore C:\work\Key.jks | openssl sha1 -binary | openssl base64
注意: 1、这里的 yiba 代表app签名的别名,也就是 alias
2、C:\work\Key.jks 代表签名的路径,需要换成你签名的路径
3.2.5 如果你的电脑上没有下载 openssl 那么你执行下面的代码会出现